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