spAddUpdate_Message
Parameters
| Parameter | Parameter Type | Mode | Description |
|---|---|---|---|
| @PKID | int | INOUT | |
| @RecipientMessageID | int | INOUT | |
| @SenderID | int | IN | |
| @RecipientID | int | IN | |
| @ParentMessageID | int | IN | |
| @MessageFolderID | int | IN | |
| @Subject | nvarchar(255) | IN | |
| @Message | ntext | IN | |
| @Sent | bit | IN | |
| @SentDate | datetime | IN | |
| @Deleted | bit | IN | |
| @DeletedDate | datetime | IN | |
| @Viewed | bit | IN | |
| @RecipientGroupID | int | IN |
Definition
Copy
CREATE PROCEDURE [dbo].[spAddUpdate_Message]
(
@PKID [int] output,
@RecipientMessageID [int] output,
@SenderID [int] ,
@RecipientID [int] ,
@ParentMessageID [int] ,
@MessageFolderID [int] ,
@Subject [nvarchar] (255) ,
@Message [ntext] ,
@Sent [bit] ,
@SentDate [datetime] ,
@Deleted [bit] ,
@DeletedDate [datetime] ,
@Viewed [bit] ,
@RecipientGroupID [int]
)
AS
BEGIN
IF (@PKID<=0)
BEGIN
DECLARE @DateNow datetime
Set @DateNow = getUTCDate()
INSERT INTO [Message]
(
[OwnerID],
[SenderID],
[RecipientID],
[ParentMessageID],
[Subject],
[Message],
[CreateDate],
[UpdateDate],
[Sent],
[SentDate],
[Viewed],
[RecipientGroupID]
)
VALUES
(
@SenderID,
@SenderID,
@RecipientID,
@ParentMessageID,
@Subject,
@Message,
@DateNow,
@DateNow,
@Sent,
(CASE @Sent WHEN 1 THEN @DateNow ELSE NULL END),
(CASE @Sent WHEN 1 THEN 1 ELSE 0 END),
@RecipientGroupID
)
SELECT @PKID = @@Identity
if @Sent = 1
begin
exec [dbo].[spMessageSend] @NewMessageID = @RecipientMessageID OUTPUT, @MessageID = @PKID
end
SELECT @RecipientMessageID = (CASE @Sent WHEN 0 THEN 0 ELSE @RecipientMessageID END)
END
ELSE
UPDATE [Message] SET
[SenderID] = @SenderID,
[RecipientID] = @RecipientID,
[ParentMessageID] = @ParentMessageID,
[MessageFolderID] = @MessageFolderID,
[Subject] = @Subject,
[Message] = @Message,
[UpdateDate] = getUTCDate(),
[Deleted] = @Deleted,
[DeletedDate] = @DeletedDate,
[Viewed] = @Viewed,
[RecipientGroupID] = @RecipientGroupID
WHERE [ID]=@PKID
END