spMessageSend
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@NewMessageID | int | INOUT | |
@MessageID | int | IN |
Definition
Copy
CREATE PROCEDURE [dbo].[spMessageSend]
(
@NewMessageID int output,
@MessageID int
)
AS
BEGIN
DECLARE @SentDate datetime
SET @SentDate = getUTCDate()
DECLARE @GroupID int
SELECT @GroupID = RecipientGroupID FROM Message WHERE ID = @MessageID
if @GroupID > 0
begin
INSERT INTO [Message]
(
[OwnerID],
[SenderID],
[RecipientID],
[Subject],
[Message],
[CreateDate],
[UpdateDate],
[Viewed],
[RecipientGroupID]
)
(
SELECT
na.ID,
m.OwnerID,
na.ID,
m.[Subject],
m.[Message],
@SentDate,
@SentDate,
0,
@GroupID
FROM [Message] m
INNER JOIN dbo.NetGroupRelation ngr ON ngr.NetGroupID = m.RecipientGroupID
INNER JOIN NetAccount na on na.ID = ngr.NetAccountID
WHERE
(ngr.BlockedID = 0 OR ngr.BlockedID IS NULL) AND
na.Deleted = 0 AND
na.LockedOut = 0 AND
ngr.Confirmation IN (1,2,3) AND
m.ID = @MessageID AND
ISNULL(dbo.fnNetAccountRelationship_BlockedID(na.ID, m.OwnerID),0) = 0
)
end
else
begin
INSERT INTO [Message]
(
[OwnerID],
[SenderID],
[RecipientID],
[Subject],
[Message],
[CreateDate],
[UpdateDate],
[Viewed]
)
(
SELECT
[RecipientID],
[SenderID],
[RecipientID],
[Subject],
[Message],
@SentDate,
@SentDate,
0
FROM [Message]
WHERE ID = @MessageID
AND ISNULL(dbo.fnNetAccountRelationship_BlockedID(RecipientID, SenderID),0) = 0
)
end
SELECT @NewMessageID = @@Identity
END