USP_WEALTHPOINT_GENERATESEARCHHISTORY_SELECTEDCONSTITUENTS

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT
@CHANGEAGENTID uniqueidentifier IN
@CURRENTAPPUSERID uniqueidentifier IN
@REQUESTID int IN
@STATUSCODE int IN
@STATUSDETAILS nvarchar(500) IN
@WPSEARCHHISTORYSELECTEDCONSTITUENT xml IN

Definition

Copy


            create procedure dbo.USP_WEALTHPOINT_GENERATESEARCHHISTORY_SELECTEDCONSTITUENTS(
                @ID uniqueidentifier = null output,
                @CHANGEAGENTID uniqueidentifier = null,
                @CURRENTAPPUSERID uniqueidentifier = null,
                @REQUESTID int = 0,
                @STATUSCODE int = 0,
                @STATUSDETAILS nvarchar(500)='',
                @WPSEARCHHISTORYSELECTEDCONSTITUENT xml = null
            ) as begin
                set nocount on;

                declare @CURRENTDATE datetime;

                set @CURRENTDATE = getdate();

                if @CHANGEAGENTID is null
                    exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

                if @ID is null
                    set @ID = newid();

                declare @RECORDCOUNT integer;
                select 
                    @RECORDCOUNT = count(WPSELECTED.CONSTITUENTID)
                from
                    dbo.[UFN_WPSEARCHHISTORY_GETCONSTITUENTS_FROMITEMLISTXML](@WPSEARCHHISTORYSELECTEDCONSTITUENT) WPSELECTED
                left outer join dbo.DISABLEDWEALTHUPDATES DWU on DWU.ID = WPSELECTED.CONSTITUENTID
                where
                    DWU.ID is null;

                insert into dbo.WPSEARCHHISTORY    (
                    ID,
                    REQUESTID,
                    STATUSCODE,
                    STATUSDETAILS,
                    DATESUBMITTED,
                    SEARCHTYPECODE,
                    RECORDCOUNT,
                    APPUSERID,
                    CHANGEDBYID,
                    ADDEDBYID,
                    DATEADDED,
                    DATECHANGED
                ) values (
                    @ID,
                    @REQUESTID,
                    @STATUSCODE,
                    @STATUSDETAILS,
                    @CURRENTDATE,
                    3, --Selected Constituents Search Type Code

                    @RECORDCOUNT,
                    @CURRENTAPPUSERID,
                    @CHANGEAGENTID,
                    @CHANGEAGENTID,
                    @CURRENTDATE,
                    @CURRENTDATE
                )

        exec dbo.USP_WPSEARCHHISTORY_GETCONSTITUENTS_ADDFROMXML @ID, @WPSEARCHHISTORYSELECTEDCONSTITUENT

                update
                     dbo.WEALTH
                set 
                    PENDINGSEARCH =1,
                    CHANGEDBYID = @CHANGEAGENTID,
                    DATECHANGED    = @CURRENTDATE
                from
                    dbo.WPSEARCHHISTORYSELECTEDCONSTITUENT WPSELECTED
                inner join dbo.WEALTH on
                    WEALTH.ID = WPSELECTED.CONSTITUENTID
                left outer join dbo.DISABLEDWEALTHUPDATES DWU on
                    DWU.ID = WEALTH.ID
                where 
                    WPSELECTED.WPSEARCHHISTORYID = @ID and DWU.ID is null

                insert into dbo.WEALTH (
                    ID,
                    PENDINGSEARCH,
                    CHANGEDBYID,
                    ADDEDBYID,
                    DATEADDED,
                    DATECHANGED    
                )
                select
                    WPSELECTED.CONSTITUENTID,
                    1,
                    @CHANGEAGENTID,
                    @CHANGEAGENTID,
                    @CURRENTDATE,
                    @CURRENTDATE               
                from
                    dbo.WPSEARCHHISTORYSELECTEDCONSTITUENT WPSELECTED
                left outer join dbo.WEALTH on
                    WPSELECTED.CONSTITUENTID = WEALTH.ID
                left outer join dbo.DISABLEDWEALTHUPDATES DWU on
                    DWU.ID = WPSELECTED.CONSTITUENTID
                where 
                    WPSELECTED.WPSEARCHHISTORYID = @ID and
                    WEALTH.ID is null and DWU.ID is null

                return 0;
            end;