USP_MERGETWOCONSTITUENTS_SOCIALMEDIAACCOUNT

Parameters

Parameter Parameter Type Mode Description
@SOURCEID uniqueidentifier IN
@TARGETID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


            create procedure dbo.USP_MERGETWOCONSTITUENTS_SOCIALMEDIAACCOUNT
            (
                @SOURCEID uniqueidentifier,
                @TARGETID uniqueidentifier,
                @CHANGEAGENTID uniqueidentifier = null
            )
            as
            begin
                set nocount on;

                declare @CURRENTDATE datetime = getdate();

                -- If Source is Rejected/Confirmed, but Target is neither Rejected/Confirmed, update the Target record values with Source record values.

                update TARGETSOCIALMEDIAACCOUNT
                set
                    [SOCIALMEDIASERVICEID] = SOURCESOCIALMEDIAACCOUNT.SOCIALMEDIASERVICEID
                    ,[USERID] = SOURCESOCIALMEDIAACCOUNT.USERID
                    ,[URL] = SOURCESOCIALMEDIAACCOUNT.URL
                    ,[SOCIALMEDIAACCOUNTTYPECODEID] = SOURCESOCIALMEDIAACCOUNT.SOCIALMEDIAACCOUNTTYPECODEID
                    ,[INFOSOURCECODEID] = SOURCESOCIALMEDIAACCOUNT.INFOSOURCECODEID
                    ,[DONOTCONTACT] = SOURCESOCIALMEDIAACCOUNT.DONOTCONTACT
                    ,[CHANGEDBYID] = @CHANGEAGENTID
                    ,[DATECHANGED] = @CURRENTDATE
                    ,[SEQUENCE] = SOURCESOCIALMEDIAACCOUNT.SEQUENCE
                    ,[CONFIRMED] = SOURCESOCIALMEDIAACCOUNT.CONFIRMED
                    ,[DATECONFIRMED] = SOURCESOCIALMEDIAACCOUNT.DATECONFIRMED
                    ,[CONFIRMEDBYAPPUSERID] = SOURCESOCIALMEDIAACCOUNT.CONFIRMEDBYAPPUSERID
                    ,[REJECTED] = SOURCESOCIALMEDIAACCOUNT.REJECTED
                    ,[DATEREJECTED] = SOURCESOCIALMEDIAACCOUNT.DATEREJECTED
                    ,[REJECTEDBYAPPUSERID] = SOURCESOCIALMEDIAACCOUNT.REJECTEDBYAPPUSERID
                    ,[WPMATCHCODE] = SOURCESOCIALMEDIAACCOUNT.WPMATCHCODE
                    ,[EMAILADDRESS] = SOURCESOCIALMEDIAACCOUNT.EMAILADDRESS
                    ,[WEALTHSOURCE] = SOURCESOCIALMEDIAACCOUNT.WEALTHSOURCE
                    ,[FULLHASH] = SOURCESOCIALMEDIAACCOUNT.FULLHASH
                    ,[PARTIALHASH] = SOURCESOCIALMEDIAACCOUNT.PARTIALHASH
                from dbo.SOCIALMEDIAACCOUNT TARGETSOCIALMEDIAACCOUNT
                inner join dbo.SOCIALMEDIAACCOUNT SOURCESOCIALMEDIAACCOUNT ON SOURCESOCIALMEDIAACCOUNT.PARTIALHASH = TARGETSOCIALMEDIAACCOUNT.PARTIALHASH
                where SOURCESOCIALMEDIAACCOUNT.CONSTITUENTID = @SOURCEID
                    and TARGETSOCIALMEDIAACCOUNT.CONSTITUENTID = @TARGETID
                    and not (TARGETSOCIALMEDIAACCOUNT.CONFIRMED = 1 or TARGETSOCIALMEDIAACCOUNT.REJECTED = 1)
                    and (SOURCESOCIALMEDIAACCOUNT.CONFIRMED = 1 or SOURCESOCIALMEDIAACCOUNT.REJECTED = 1)
                    and (SOURCESOCIALMEDIAACCOUNT.PARTIALHASH is not null and ltrim(rtrim(SOURCESOCIALMEDIAACCOUNT.PARTIALHASH)) <> '')
                    and (TARGETSOCIALMEDIAACCOUNT.PARTIALHASH is not null and ltrim(rtrim(TARGETSOCIALMEDIAACCOUNT.PARTIALHASH)) <> '')

                -- If unique record in Source, move it to Target.

                update SOURCESOCIALMEDIAACCOUNT
                set
                    [CONSTITUENTID] = @TARGETID,
                    [CHANGEDBYID] = @CHANGEAGENTID,
                    [DATECHANGED] = @CURRENTDATE
                from dbo.SOCIALMEDIAACCOUNT SOURCESOCIALMEDIAACCOUNT
                left join dbo.SOCIALMEDIAACCOUNT TARGETSOCIALMEDIAACCOUNT ON TARGETSOCIALMEDIAACCOUNT.PARTIALHASH = SOURCESOCIALMEDIAACCOUNT.PARTIALHASH and TARGETSOCIALMEDIAACCOUNT.CONSTITUENTID = @TARGETID
                where SOURCESOCIALMEDIAACCOUNT.CONSTITUENTID = @SOURCEID
                    and (SOURCESOCIALMEDIAACCOUNT.PARTIALHASH is not null and ltrim(rtrim(SOURCESOCIALMEDIAACCOUNT.PARTIALHASH)) <> '')
                    and TARGETSOCIALMEDIAACCOUNT.ID is null

                -- If unique record in Source which is entered manually, move it to Target.

                update dbo.SOCIALMEDIAACCOUNT
                set
                    [CONSTITUENTID] = @TARGETID,
                    [CHANGEDBYID] = @CHANGEAGENTID,
                    [DATECHANGED] = @CURRENTDATE
                where CONSTITUENTID = @SOURCEID
                    and (PARTIALHASH is null or ltrim(rtrim(PARTIALHASH)) = '')
            end