USP_FAF_NEWSLETTER_ADD_EDIT

To add users to newsletter subscription

Parameters

Parameter Parameter Type Mode Description
@EmailListIDList varchar(2000) IN
@DisabledEmailList varchar(2000) IN
@UserID int IN
@EmailAddress nvarchar(255) IN
@FirstName nvarchar(255) IN
@LastName nvarchar(255) IN

Definition

Copy


CREATE procedure dbo.USP_FAF_NEWSLETTER_ADD_EDIT
            (
             @EmailListIDList varchar(2000), -- enabledlist

             @DisabledEmailList varchar(2000) = null,
             @UserID int = null,
             @EmailAddress nvarchar(255) = null,
             @FirstName nvarchar(255) = null,
             @LastName nvarchar(255) = null
            ) with execute as caller
AS
BEGIN
SET NOCOUNT ON;

    DECLARE @currentdate datetime
    SET @currentdate = getdate()

    IF ISNULL(@UserID,0) > 0
    BEGIN

        Update ES
        SET HasOpted = 1,
            updatedate = @currentdate
        FROM
            EmailList_Subscription ES
            INNER JOIN dbo.UFN_PARSE_STRING (@emaillistidlist,',') EL
            ON EL.element_value = ES.EmailListID AND ES.UserID = @UserID

        INSERT INTO EmailList_Subscription
        SELECT EL.element_value,@UserID,null,1,P.BackofficePeopleID,null,null,null,@currentdate
        FROM
            dbo.UFN_PARSE_STRING(@emaillistidlist,',') EL
            LEFT OUTER JOIN EmailList_Subscription ES
            ON EL.element_value = ES.EmailListID AND ES.UserID = @UserID
            LEFT OUTER JOIN dbo.BackOfficeSystemUsers P
            ON P.ClientUsersID = @userid AND P.[Current] = 1
            WHERE ES.ID IS NULL 

        IF ISNULL(@DisabledEmailList,'') > ''    
        Update ES
        SET HasOpted = 0,
            updatedate = @currentdate
        FROM
            EmailList_Subscription ES
            INNER JOIN dbo.UFN_PARSE_STRING (@DisabledEmailList,',') EL
            ON EL.element_value = ES.EmailListID AND ES.UserID = @UserID

    END

    IF ISNULL(@UserID,0) = 0 AND ISNULL(@EmailAddress,'') > ''
    BEGIN

        Update ES
        SET HasOpted = 1,
            updatedate = @currentdate
        FROM
            EmailList_Subscription ES
            INNER JOIN dbo.UFN_PARSE_STRING (@emaillistidlist,',') EL
            ON EL.element_value = ES.EmailListID AND ES.EmailAddress = @EmailAddress

        INSERT INTO EmailList_Subscription
        SELECT EL.element_value,null,null,1,null,@EmailAddress,@FirstName,@LastName,@currentdate
        FROM
            dbo.UFN_PARSE_STRING (@emaillistidlist,',') EL
            LEFT OUTER JOIN EmailList_Subscription ES
            ON EL.element_value = ES.EmailListID AND ES.EmailAddress = @EmailAddress
            WHERE ES.ID IS NULL 

        IF ISNULL(@DisabledEmailList,'') > ''    
        Update ES
        SET HasOpted = 0,
            updatedate = @currentdate
        FROM
            EmailList_Subscription ES
            INNER JOIN dbo.UFN_PARSE_STRING (@DisabledEmailList,',') EL
            ON EL.element_value = ES.EmailListID AND ES.EmailAddress = @EmailAddress

    END
END