USP_DATAFORMTEMPLATE_EDIT_DESIGNATIONLEVELFINANCIALINFO

The save procedure used by the edit dataform template "Fundraising Purpose Financial Information Edit Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@STARTDATE datetime IN Start date
@ENDDATE datetime IN End date
@BOOKVALUESTART money IN Book value start
@BOOKVALUEEND money IN Book value end
@MARKETVALUESTART money IN Market value start
@MARKETVALUEEND money IN Market value end
@TOTALGIFTREVENUE money IN Total gift revenue
@TOTALDISBURSEMENTS money IN Total disbursements
@PLEDGEBALANCE money IN Pledge balance

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_DESIGNATIONLEVELFINANCIALINFO
                    (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,    
                        @STARTDATE datetime,                                          
                        @ENDDATE datetime,
                        @BOOKVALUESTART money,
                        @BOOKVALUEEND money,                                          
                        @MARKETVALUESTART money,
                        @MARKETVALUEEND money,
                        @TOTALGIFTREVENUE money,
                        @TOTALDISBURSEMENTS money,
                        @PLEDGEBALANCE money                        
                    )
                    as                
                    begin
                        set nocount on

                        declare @CURRENTDATE datetime
                        set @CURRENTDATE = getdate()

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

                            declare @BASECURRENCYID uniqueidentifier;
                            declare @CURRENCYEXCHANGERATEID uniqueidentifier;
                            declare @ORGANIZATIONBOOKVALUESTART money;
                            declare @ORGANIZATIONBOOKVALUEEND money;
                            declare @ORGANIZATIONMARKETVALUESTART money;
                            declare @ORGANIZATIONMARKETVALUEEND money;
                            declare @ORGANIZATIONTOTALGIFTREVENUE money;
                            declare @ORGANIZATIONPLEDGEBALANCE money;
                            declare @ORGANIZATIONTOTALDISBURSEMENTS money;
                            declare @ORGANIZATIONCURRENCYID uniqueidentifier;
                            declare @DATEADDED datetime;
                            set @ORGANIZATIONCURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();

                            select
                                @BASECURRENCYID = DESIGNATIONLEVELFINANCIALINFO.BASECURRENCYID,
                                @DATEADDED = DESIGNATIONLEVELFINANCIALINFO.DATEADDED,
                                @CURRENCYEXCHANGERATEID = DESIGNATIONLEVELFINANCIALINFO.ORGANIZATIONEXCHANGERATEID
                            from
                                dbo.DESIGNATIONLEVELFINANCIALINFO
                            where
                                DESIGNATIONLEVELFINANCIALINFO.ID = @ID;

                            if (@ORGANIZATIONCURRENCYID = @BASECURRENCYID)
                            begin
                                select @ORGANIZATIONBOOKVALUESTART = @BOOKVALUESTART,
                                    @ORGANIZATIONBOOKVALUEEND = @BOOKVALUEEND,
                                    @ORGANIZATIONMARKETVALUESTART = @MARKETVALUESTART,
                                    @ORGANIZATIONMARKETVALUEEND = @MARKETVALUEEND,
                                    @ORGANIZATIONTOTALGIFTREVENUE = @TOTALGIFTREVENUE,
                                    @ORGANIZATIONPLEDGEBALANCE = @PLEDGEBALANCE,
                                    @ORGANIZATIONTOTALDISBURSEMENTS = @TOTALDISBURSEMENTS
                            end
                            else
                            begin
                                if @CURRENCYEXCHANGERATEID is null
                                    set @CURRENCYEXCHANGERATEID = dbo.UFN_CURRENCYEXCHANGERATE_GETLATEST(@BASECURRENCYID, @ORGANIZATIONCURRENCYID, @DATEADDED, 0, null);

                                select @ORGANIZATIONBOOKVALUESTART = dbo.UFN_CURRENCY_CONVERT(@BOOKVALUESTART, @CURRENCYEXCHANGERATEID),
                                    @ORGANIZATIONBOOKVALUEEND = dbo.UFN_CURRENCY_CONVERT(@BOOKVALUEEND, @CURRENCYEXCHANGERATEID),
                                    @ORGANIZATIONMARKETVALUESTART = dbo.UFN_CURRENCY_CONVERT(@MARKETVALUESTART, @CURRENCYEXCHANGERATEID),
                                    @ORGANIZATIONMARKETVALUEEND = dbo.UFN_CURRENCY_CONVERT(@MARKETVALUEEND, @CURRENCYEXCHANGERATEID),
                                    @ORGANIZATIONTOTALGIFTREVENUE = dbo.UFN_CURRENCY_CONVERT(@TOTALGIFTREVENUE, @CURRENCYEXCHANGERATEID),
                                    @ORGANIZATIONPLEDGEBALANCE = dbo.UFN_CURRENCY_CONVERT(@PLEDGEBALANCE, @CURRENCYEXCHANGERATEID),
                                    @ORGANIZATIONTOTALDISBURSEMENTS = dbo.UFN_CURRENCY_CONVERT(@TOTALDISBURSEMENTS, @CURRENCYEXCHANGERATEID)
                            end

                            update
                                dbo.DESIGNATIONLEVELFINANCIALINFO
                            set
                                STARTDATE = @STARTDATE
                                ENDDATE = @ENDDATE
                                BOOKVALUESTART = @BOOKVALUESTART,
                                BOOKVALUEEND = @BOOKVALUEEND
                                MARKETVALUESTART = @MARKETVALUESTART
                                MARKETVALUEEND = @MARKETVALUEEND,
                                TOTALGIFTREVENUE = @TOTALGIFTREVENUE,
                                TOTALDISBURSEMENTS = @TOTALDISBURSEMENTS,
                                PLEDGEBALANCE = @PLEDGEBALANCE,
                                ORGANIZATIONBOOKVALUESTART = @ORGANIZATIONBOOKVALUESTART,
                                ORGANIZATIONBOOKVALUEEND = @ORGANIZATIONBOOKVALUEEND
                                ORGANIZATIONMARKETVALUESTART = @ORGANIZATIONMARKETVALUESTART
                                ORGANIZATIONMARKETVALUEEND = @ORGANIZATIONMARKETVALUEEND,
                                ORGANIZATIONTOTALGIFTREVENUE = @ORGANIZATIONTOTALGIFTREVENUE,
                                ORGANIZATIONTOTALDISBURSEMENTS = @ORGANIZATIONTOTALDISBURSEMENTS,
                                ORGANIZATIONPLEDGEBALANCE = @ORGANIZATIONPLEDGEBALANCE,
                                ORGANIZATIONEXCHANGERATEID = @CURRENCYEXCHANGERATEID,
                                CHANGEDBYID = @CHANGEAGENTID,
                                DATECHANGED = @CURRENTDATE
                            where
                                ID = @ID                        
                        end try

                        begin catch
                            exec dbo.USP_RAISE_ERROR
                            return 1
                        end catch

                        return 0
                    end