USP_ADDUPDATE_LINKEDCMSUSERSOCIALMEDIAACCOUNT

Parameters

Parameter Parameter Type Mode Description
@CONSTITUENTSEQUENCEID int IN
@SOCIALMEDIASERVICEID uniqueidentifier IN
@USERID nvarchar(100) IN
@URL nvarchar(2047) IN

Definition

Copy


CREATE procedure dbo.USP_ADDUPDATE_LINKEDCMSUSERSOCIALMEDIAACCOUNT
(
    @CONSTITUENTSEQUENCEID int,
    @SOCIALMEDIASERVICEID uniqueidentifier,
    @USERID nvarchar(100),
    @URL nvarchar(2047)
)
as
begin

    declare @INFOSOURCECODEID uniqueidentifier
    select @INFOSOURCECODEID = [INFOSOURCECODEID] from [NETCOMMUNITYDEFAULTCODEMAP]

    declare @CHANGEAGENTID uniqueidentifier;
    exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

    declare @CURRENTDATE datetime;
    set @CURRENTDATE = getdate();

    declare @CONSTITUENTID uniqueidentifier
    select @CONSTITUENTID = ID from dbo.CONSTITUENT where SEQUENCEID = @CONSTITUENTSEQUENCEID

    if @INFOSOURCECODEID is not null
    begin
        merge into dbo.SOCIALMEDIAACCOUNT as TARGET
        using (SELECT @CONSTITUENTID as CONSTITUENTID,  @SOCIALMEDIASERVICEID as SOCIALMEDIASERVICEID, @INFOSOURCECODEID as INFOSOURCECODEID) as SOURCE
        on TARGET.CONSTITUENTID = SOURCE.CONSTITUENTID and TARGET.SOCIALMEDIASERVICEID = SOURCE.SOCIALMEDIASERVICEID and TARGET.INFOSOURCECODEID = SOURCE.INFOSOURCECODEID
        when matched then
          update set USERID = @USERID, URL = @URL
        when not matched by target then
          insert (CONSTITUENTID, SOCIALMEDIASERVICEID, USERID, URL, INFOSOURCECODEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED) 
          values (@CONSTITUENTID, @SOCIALMEDIASERVICEID, @USERID, @URL, @INFOSOURCECODEID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);
    end
    else
    begin
        merge into dbo.SOCIALMEDIAACCOUNT as TARGET
        using (SELECT @CONSTITUENTID as CONSTITUENTID,  @SOCIALMEDIASERVICEID as SOCIALMEDIASERVICEID, @INFOSOURCECODEID as INFOSOURCECODEID) as SOURCE
        on TARGET.CONSTITUENTID = SOURCE.CONSTITUENTID and TARGET.SOCIALMEDIASERVICEID = SOURCE.SOCIALMEDIASERVICEID and TARGET.INFOSOURCECODEID is null and TARGET.URL = @URL and TARGET.USERID = @USERID
        when not matched by target then
          insert (CONSTITUENTID, SOCIALMEDIASERVICEID, USERID, URL, INFOSOURCECODEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED) 
          values (@CONSTITUENTID, @SOCIALMEDIASERVICEID, @USERID, @URL, @INFOSOURCECODEID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);      
    end
end