USP_DATAFORMTEMPLATE_ADDSAVE_WPSECURITIES_ORG

The save procedure used by the add dataform template "Organization WealthPoint Securities Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@WEALTHID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@SOURCE nvarchar(100) IN Source
@TICKER nvarchar(8) IN Symbol
@ISSUERNAME nvarchar(60) IN Issuer name
@REPORTDATEDIRECT datetime IN Last retrieved price date
@PRICEDIRECT money IN Last retrieved price
@ISHISTORICAL tinyint IN Is historical record
@SHARESHELDDATE datetime IN Shares held date
@AMOUNTOWNEDDIRECT bigint IN Quantity held
@VALUEDIRECT money IN Total value
@CNOTES nvarchar(1024) IN Notes

Definition

Copy

                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADDSAVE_WPSECURITIES_ORG(
                        @ID uniqueidentifier = null output,
                        @WEALTHID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @CURRENTAPPUSERID uniqueidentifier,

                        @SOURCE nvarchar(100),
                        @TICKER nvarchar(8) = '',
                        @ISSUERNAME nvarchar(60) = '',

                        @REPORTDATEDIRECT datetime = null,
                        @PRICEDIRECT money = 0,
                        @ISHISTORICAL tinyint = 0,
                        @SHARESHELDDATE datetime = null,
                        @AMOUNTOWNEDDIRECT bigint = 0,
                        @VALUEDIRECT money = 0,

                        @CNOTES nvarchar(1024) = ''
                    ) as begin

                        set nocount on;

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

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

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

                        exec dbo.USP_WEALTH_CREATE @WEALTHID, @CHANGEAGENTID;

                        declare @CONFIRMED bit;    
                        declare @CONFIRMEDBYAPPUSERID uniqueidentifier;
                        declare @DATECONFIRMED datetime;
                        declare @REJECTED bit;
                        declare @REJECTEDBYAPPUSERID uniqueidentifier; 
                        declare @DATEREJECTED datetime;                      
                        set @CONFIRMED = 0;
                        set @REJECTED = 0;

                        if @CURRENTAPPUSERID is not null
                            begin
                            select                   
                                @REJECTED =                case MANUALCONFIDENCE
                                                            when 5 then 0
                                                            when 0 then 1
                                                        end,
                                @DATEREJECTED =            case MANUALCONFIDENCE
                                                            when 5 then NULL
                                                            when 0 then @CURRENTDATE 
                                                        end,
                                @REJECTEDBYAPPUSERID =     case MANUALCONFIDENCE
                                                            when 5 then NULL
                                                            when 0 then @CURRENTAPPUSERID 
                                                        end,
                                @CONFIRMED =            case MANUALCONFIDENCE
                                                            when 5 then 1
                                                            when 0 then 0
                                                        end,
                                @DATECONFIRMED =        case MANUALCONFIDENCE
                                                            when 5 then @CURRENTDATE 
                                                            when 0 then    NULL
                                                        end,
                                @CONFIRMEDBYAPPUSERID = case MANUALCONFIDENCE
                                                            when 5 then  @CURRENTAPPUSERID 
                                                            when 0 then NULL
                                                        end
                                from
                                    dbo.WEALTHPOINTCONFIGURATION
                                where
                                     MANUALCONFIDENCE in (0,5)
                        end    

                        insert into dbo.WPSECURITIES (
                            ID,
                            WEALTHID,
                            SOURCE,
                            TICKER,
                            ISSUERNAME,
                            PRICEDIRECT,
                            REPORTDATEDIRECT,
                            ISHISTORICAL,
                            SHARESHELDDATE,
                            AMOUNTOWNEDDIRECT,
                            VALUEDIRECT,
                            CNOTES,
                            CONFIRMED,
                            CONFIRMEDBYAPPUSERID,
                            DATECONFIRMED,
                            REJECTED,
                            REJECTEDBYAPPUSERID,
                            DATEREJECTED,
                            ACTIVE,
                            CHANGEDBYID,
                            ADDEDBYID,
                            DATECHANGED,
                            DATEADDED
                        ) values (
                            @ID,
                            @WEALTHID,
                            @SOURCE,
                            @TICKER,
                            @ISSUERNAME,
                            @PRICEDIRECT,
                            @REPORTDATEDIRECT,
                            @ISHISTORICAL,
                            @SHARESHELDDATE,
                            @AMOUNTOWNEDDIRECT,
                            @VALUEDIRECT,
                            @CNOTES,
                            @CONFIRMED,
                            @CONFIRMEDBYAPPUSERID,
                            @DATECONFIRMED,
                            @REJECTED,
                            @REJECTEDBYAPPUSERID,
                            @DATEREJECTED,
                            1,
                            @CHANGEAGENTID,
                            @CHANGEAGENTID,
                            @CURRENTDATE,
                            @CURRENTDATE
                        )                        
                        if    (select
                            count(WEALTHSOURCE.SOURCE)
                        from
                            dbo.WEALTHSOURCE
                        where
                            WEALTHSOURCE.SOURCE = @SOURCE
                        ) = 0
                        begin
                            insert into dbo.WEALTHSOURCE (
                                [SOURCE],
                                [ISBUILTIN],
                                [ADDEDBYID],
                                [CHANGEDBYID]
                            )values(
                                @SOURCE,
                                0,
                                @CHANGEAGENTID,
                                @CHANGEAGENTID
                            );
                        end    

                        exec dbo.USP_WEALTHPOINT_UPDATEWEALTHSUMMARY_SECURITIES @WEALTHID, @CHANGEAGENTID;
                        exec dbo.USP_WEALTHCAPACITY_UPDATE @WEALTHID, @CHANGEAGENTID;

                        return 0;
                    end