USP_RECORDOPERATION_WPSOCIALMEDIA_DELETE

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


                    CREATE procedure dbo.USP_RECORDOPERATION_WPSOCIALMEDIA_DELETE (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null
                    ) as begin

            delete WPSOCIAL
            where @ID = ID

            delete SOCIALMEDIAACCOUNT
            WHERE CONSTITUENTID = @ID and WPMATCHCODE <> ''

            -- Delete modeling scores. Most records will have at least a social media rating.

                  declare @SOCIALMEDIARATINGID nvarchar(32) = '';
                  declare @SOCIALMEDIAINFLUENCEID nvarchar(32) = '';
                  declare @SOCIALMEDIAOUTREACHID nvarchar(32) = '';

            select @SOCIALMEDIARATINGID = REPLACE(ID, '-', '') from ATTRIBUTECATEGORY where NAME = 'Social media rating'
            select @SOCIALMEDIAINFLUENCEID = REPLACE(ID, '-', '') from ATTRIBUTECATEGORY where NAME = 'Social media influence'
            select @SOCIALMEDIAOUTREACHID = REPLACE(ID, '-', '') from ATTRIBUTECATEGORY where NAME = 'Social media outreach'

                  declare @DELETESQL nvarchar(max)
            set @DELETESQL = 'exec dbo.USP_ATTRIBUTE{0}_DELETEBYID_WITHCHANGEAGENTID @ID = @ID, @CHANGEAGENTID = @CHANGEAGENTID;';
            declare @PARAMETERDEFINITION nvarchar(500) = N'@ID uniqueidentifier, @CHANGEAGENTID uniqueidentifier';


            if @SOCIALMEDIARATINGID <> ''
            begin
                    declare @DELETERATINGSQL nvarchar(max) = REPLACE(@DELETESQL, '{0}', @SOCIALMEDIARATINGID);
                    exec sp_executesql @DELETERATINGSQL, @PARAMETERDEFINITION, @ID = @ID, @CHANGEAGENTID = @CHANGEAGENTID;
            end

            if @SOCIALMEDIAINFLUENCEID <> ''
            begin
                    declare @DELETEINFLUENCESQL nvarchar(max) = REPLACE(@DELETESQL, '{0}', @SOCIALMEDIAINFLUENCEID);
                    exec sp_executesql @DELETEINFLUENCESQL, @PARAMETERDEFINITION, @ID = @ID, @CHANGEAGENTID = @CHANGEAGENTID;
            end

            if @SOCIALMEDIAOUTREACHID <> ''
            begin
                    declare @DELETEOUTREACHSQL nvarchar(max) = REPLACE(@DELETESQL, '{0}', @SOCIALMEDIAOUTREACHID);
                    exec sp_executesql @DELETEOUTREACHSQL, @PARAMETERDEFINITION, @ID = @ID, @CHANGEAGENTID = @CHANGEAGENTID;
            end

                        return 0;
                    end