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