USP_DATAFORMTEMPLATE_ADD_RE7INTEGRATIONGIVINGSUMMARY

The save procedure used by the add dataform template "RE7 Integration Giving Summary Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CONSTITUENTID 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.
@FIRSTGIFTAMOUNT money IN Amount
@FIRSTGIFTDATE datetime IN Date
@LATESTGIFTAMOUNT money IN Amount
@LATESTGIFTDATE datetime IN Date
@LARGESTGIFTAMOUNT money IN Amount
@LARGESTGIFTDATE datetime IN Date
@TOTALGIFTSGIVEN int IN Total number of gifts
@TOTALGIFTAMOUNT money IN Total giving
@FIRSTGIFTTYPE nvarchar(100) IN Type
@FIRSTGIFTDESIGNATION nvarchar(100) IN Designation
@LARGESTGIFTTYPE nvarchar(100) IN Type
@LARGESTGIFTDESIGNATION nvarchar(100) IN Designation
@LATESTGIFTTYPE nvarchar(100) IN Type
@LATESTGIFTDESIGNATION nvarchar(100) IN Designation

Definition

Copy


                    CREATE procedure USP_DATAFORMTEMPLATE_ADD_RE7INTEGRATIONGIVINGSUMMARY (
                        @ID uniqueidentifier = null output,
                        @CONSTITUENTID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @FIRSTGIFTAMOUNT money = 0,
                        @FIRSTGIFTDATE datetime = null,
                        @LATESTGIFTAMOUNT money = 0,
                        @LATESTGIFTDATE datetime = null,
                        @LARGESTGIFTAMOUNT money = 0,
                        @LARGESTGIFTDATE datetime = null,
                        @TOTALGIFTSGIVEN int = 0,
                        @TOTALGIFTAMOUNT money = 0,
                        @FIRSTGIFTTYPE nvarchar(100) = '',
                        @FIRSTGIFTDESIGNATION nvarchar(100) = '',
                        @LARGESTGIFTTYPE nvarchar(100) = '',
                        @LARGESTGIFTDESIGNATION nvarchar(100) = '',
                        @LATESTGIFTTYPE nvarchar(100) = '',
                        @LATESTGIFTDESIGNATION nvarchar(100) = ''
                    ) as
                        set nocount on;

                        declare @CURRENTDATE datetime;

                        begin try
                            set @ID = @CONSTITUENTID;

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

                            set @CURRENTDATE = getdate();

                            set @TOTALGIFTSGIVEN = case when @TOTALGIFTSGIVEN is NULL then 0 else @TOTALGIFTSGIVEN end;

                            if exists(select top 1 ID from dbo.RE7INTEGRATIONGIVINGSUMMARY where ID = @ID)
                                update dbo.RE7INTEGRATIONGIVINGSUMMARY
                                set
                                  FIRSTGIFTAMOUNT = @FIRSTGIFTAMOUNT,
                                  FIRSTGIFTDATE = @FIRSTGIFTDATE,
                                  LATESTGIFTAMOUNT = @LATESTGIFTAMOUNT,
                                  LATESTGIFTDATE = @LATESTGIFTDATE,
                                  LARGESTGIFTAMOUNT = @LARGESTGIFTAMOUNT,
                                  LARGESTGIFTDATE = @LARGESTGIFTDATE,
                                  TOTALGIFTSGIVEN = @TOTALGIFTSGIVEN,
                                  TOTALGIFTAMOUNT = @TOTALGIFTAMOUNT,
                                  FIRSTGIFTTYPE = @FIRSTGIFTTYPE,
                                  FIRSTGIFTDESIGNATION = @FIRSTGIFTDESIGNATION,
                                  LARGESTGIFTTYPE = @LARGESTGIFTTYPE,
                                  LARGESTGIFTDESIGNATION = @LARGESTGIFTDESIGNATION,
                                  LATESTGIFTTYPE = @LATESTGIFTTYPE,
                                  LATESTGIFTDESIGNATION = @LATESTGIFTDESIGNATION,
                                  CHANGEDBYID = @CHANGEAGENTID
                                  DATECHANGED = @CURRENTDATE
                              where ID = @ID;

                            else

                              insert into dbo.RE7INTEGRATIONGIVINGSUMMARY
                              (
                                  ID, 
                                  FIRSTGIFTAMOUNT,
                                  FIRSTGIFTDATE,
                                  LATESTGIFTAMOUNT,
                                  LATESTGIFTDATE,
                                  LARGESTGIFTAMOUNT,
                                  LARGESTGIFTDATE,
                                  TOTALGIFTSGIVEN,
                                  TOTALGIFTAMOUNT,
                                  FIRSTGIFTTYPE,
                                  FIRSTGIFTDESIGNATION,
                                  LARGESTGIFTTYPE,
                                  LARGESTGIFTDESIGNATION,
                                  LATESTGIFTTYPE,
                                  LATESTGIFTDESIGNATION,
                                  ADDEDBYID, 
                                  CHANGEDBYID, 
                                  DATEADDED, 
                                  DATECHANGED
                              )
                              values
                              (
                                  @ID
                                  @FIRSTGIFTAMOUNT,
                                  @FIRSTGIFTDATE,
                                  @LATESTGIFTAMOUNT,
                                  @LATESTGIFTDATE,
                                  @LARGESTGIFTAMOUNT,
                                  @LARGESTGIFTDATE,
                                  @TOTALGIFTSGIVEN,
                                  @TOTALGIFTAMOUNT,
                                  @FIRSTGIFTTYPE,
                                  @FIRSTGIFTDESIGNATION,
                                  @LARGESTGIFTTYPE,
                                  @LARGESTGIFTDESIGNATION,
                                  @LATESTGIFTTYPE,
                                  @LATESTGIFTDESIGNATION,
                                  @CHANGEAGENTID
                                  @CHANGEAGENTID
                                  @CURRENTDATE
                                  @CURRENTDATE
                              );

                        exec dbo.USP_WEALTHCAPACITY_UPDATE @CONSTITUENTID, @CHANGEAGENTID;

                        end try

                        begin catch
                            exec dbo.USP_RAISE_ERROR;
                            return 1;
                        end catch

                        return 0;