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