USP_DATAFORMTEMPLATE_EDIT_MATCHINGGIFTPREFERENCE_2

The save procedure used by the edit dataform template "Matching Gift Preference Edit Form".

Parameters

Parameter Parameter Type Mode Description
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@AUTOCREATEMGFROMMGRELATIONS tinyint IN Auto-create matching gift claim from matching gift relationships
@AUTOCREATEMGFROMSPOUSEMGRELATIONS tinyint IN Auto-create matching gift claim from spouse matching gift relationships
@MATCHINGGIFTCONDITIONTYPECODEID uniqueidentifier IN Default matching gift condition type
@SPOUSEMATCHINGGIFTCONDITIONTYPECODEID uniqueidentifier IN Default matching gift condition type
@ADDRECOGNITIONCREDITSONMGCLAIMADD tinyint IN Add recognition credit for donor of matched revenue
@ADDRECOGNITIONCREDITSONMGPAYMENTAPPLY tinyint IN Add recognition credit for donor of matched revenue
@CLAIMREVENUERECOGNITIONTYPECODEID uniqueidentifier IN Default recognition credit type
@PAYMENTREVENUERECOGNITIONTYPECODEID uniqueidentifier IN Default recognition credit type
@MGCLAIMADDRECOGNITIONTYPECODE tinyint IN Claim recognition type
@MGPAYMENTAPPLYRECOGNITIONTYPECODE tinyint IN Payment recognition type
@ADDRECOGNITIONCREDITSTOMATCHINGORGONMGCLAIMADD bit IN Add recognition for matching organization
@ADDRECOGNITIONCREDITSTOMATCHINGORGONMGPAYMENTAPPLY bit IN Add recognition for matching organization
@MATCHINGORGCLAIMREVENUERECOGNITIONTYPECODEID uniqueidentifier IN Default recognition credit type
@MATCHINGORGPAYMENTREVENUERECOGNITIONTYPECODEID uniqueidentifier IN Default recognition credit type

Definition

Copy

                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_MATCHINGGIFTPREFERENCE_2(
                        @CHANGEAGENTID uniqueidentifier = null,
                        @AUTOCREATEMGFROMMGRELATIONS tinyint,
                        @AUTOCREATEMGFROMSPOUSEMGRELATIONS tinyint,
                        @MATCHINGGIFTCONDITIONTYPECODEID uniqueidentifier,
                        @SPOUSEMATCHINGGIFTCONDITIONTYPECODEID uniqueidentifier,
                        @ADDRECOGNITIONCREDITSONMGCLAIMADD tinyint,
                        @ADDRECOGNITIONCREDITSONMGPAYMENTAPPLY tinyint,
                        @CLAIMREVENUERECOGNITIONTYPECODEID uniqueidentifier,
                        @PAYMENTREVENUERECOGNITIONTYPECODEID uniqueidentifier,
                        @MGCLAIMADDRECOGNITIONTYPECODE tinyint,
                        @MGPAYMENTAPPLYRECOGNITIONTYPECODE tinyint,
                        @ADDRECOGNITIONCREDITSTOMATCHINGORGONMGCLAIMADD bit,
                        @ADDRECOGNITIONCREDITSTOMATCHINGORGONMGPAYMENTAPPLY bit,
                        @MATCHINGORGCLAIMREVENUERECOGNITIONTYPECODEID uniqueidentifier,
                        @MATCHINGORGPAYMENTREVENUERECOGNITIONTYPECODEID uniqueidentifier
                    )
                    as

                        set nocount on;

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

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

                        begin try
                            if (select count(ID) from dbo.MATCHINGGIFTPREFERENCEINFO) > 0 
                            begin
                                update 
                                    dbo.MATCHINGGIFTPREFERENCEINFO 
                                set
                                    AUTOCREATEMGFROMMGRELATIONS = @AUTOCREATEMGFROMMGRELATIONS,
                                    AUTOCREATEMGFROMSPOUSEMGRELATIONS = @AUTOCREATEMGFROMSPOUSEMGRELATIONS,
                                    MATCHINGGIFTCONDITIONTYPECODEID = @MATCHINGGIFTCONDITIONTYPECODEID,
                                    SPOUSEMATCHINGGIFTCONDITIONTYPECODEID = @SPOUSEMATCHINGGIFTCONDITIONTYPECODEID,
                                    ADDRECOGNITIONCREDITSONMGCLAIMADD = @ADDRECOGNITIONCREDITSONMGCLAIMADD,
                                    ADDRECOGNITIONCREDITSONMGPAYMENTAPPLY = @ADDRECOGNITIONCREDITSONMGPAYMENTAPPLY,
                                    CLAIMREVENUERECOGNITIONTYPECODEID = @CLAIMREVENUERECOGNITIONTYPECODEID,
                                    PAYMENTREVENUERECOGNITIONTYPECODEID = @PAYMENTREVENUERECOGNITIONTYPECODEID,
                                    MGCLAIMADDRECOGNITIONTYPECODE = coalesce(@MGCLAIMADDRECOGNITIONTYPECODE, 0),
                                    MGPAYMENTAPPLYRECOGNITIONTYPECODE = coalesce(@MGPAYMENTAPPLYRECOGNITIONTYPECODE, 0),
                                    ADDRECOGNITIONCREDITSTOMATCHINGORGONMGCLAIMADD = coalesce(@ADDRECOGNITIONCREDITSTOMATCHINGORGONMGCLAIMADD, 0),
                                    ADDRECOGNITIONCREDITSTOMATCHINGORGONMGPAYMENTAPPLY = coalesce(@ADDRECOGNITIONCREDITSTOMATCHINGORGONMGPAYMENTAPPLY, 0),
                                    MATCHINGORGCLAIMREVENUERECOGNITIONTYPECODEID = @MATCHINGORGCLAIMREVENUERECOGNITIONTYPECODEID,
                                    MATCHINGORGPAYMENTREVENUERECOGNITIONTYPECODEID = @MATCHINGORGPAYMENTREVENUERECOGNITIONTYPECODEID,
                                    DATECHANGED = @CURRENTDATE,
                                    CHANGEDBYID = @CHANGEAGENTID;
                            end
                            else
                            begin
                                insert into dbo.MATCHINGGIFTPREFERENCEINFO(
                                    ID,
                                    AUTOCREATEMGFROMMGRELATIONS,
                                    AUTOCREATEMGFROMSPOUSEMGRELATIONS,
                                    MATCHINGGIFTCONDITIONTYPECODEID,
                                    SPOUSEMATCHINGGIFTCONDITIONTYPECODEID,
                                    ADDRECOGNITIONCREDITSONMGCLAIMADD,
                                    ADDRECOGNITIONCREDITSONMGPAYMENTAPPLY,
                                    CLAIMREVENUERECOGNITIONTYPECODEID,
                                    PAYMENTREVENUERECOGNITIONTYPECODEID,
                                    MGCLAIMADDRECOGNITIONTYPECODE,
                                    MGPAYMENTAPPLYRECOGNITIONTYPECODE,
                                    ADDRECOGNITIONCREDITSTOMATCHINGORGONMGCLAIMADD,
                                    ADDRECOGNITIONCREDITSTOMATCHINGORGONMGPAYMENTAPPLY,
                                    MATCHINGORGCLAIMREVENUERECOGNITIONTYPECODEID,
                                    MATCHINGORGPAYMENTREVENUERECOGNITIONTYPECODEID,
                                    DATEADDED,DATECHANGED,ADDEDBYID,CHANGEDBYID
                                )
                                values(
                                    newid(),
                                    @AUTOCREATEMGFROMMGRELATIONS,
                                    @AUTOCREATEMGFROMSPOUSEMGRELATIONS,
                                    @MATCHINGGIFTCONDITIONTYPECODEID,
                                    @SPOUSEMATCHINGGIFTCONDITIONTYPECODEID,
                                    @ADDRECOGNITIONCREDITSONMGCLAIMADD,
                                    @ADDRECOGNITIONCREDITSONMGPAYMENTAPPLY,
                                    @CLAIMREVENUERECOGNITIONTYPECODEID,
                                    @PAYMENTREVENUERECOGNITIONTYPECODEID,
                                    coalesce(@MGCLAIMADDRECOGNITIONTYPECODE, 0),
                                    coalesce(@MGPAYMENTAPPLYRECOGNITIONTYPECODE, 0),
                                    coalesce(@ADDRECOGNITIONCREDITSTOMATCHINGORGONMGCLAIMADD, 0),
                                    coalesce(@ADDRECOGNITIONCREDITSTOMATCHINGORGONMGPAYMENTAPPLY, 0),
                                    @MATCHINGORGCLAIMREVENUERECOGNITIONTYPECODEID,
                                    @MATCHINGORGPAYMENTREVENUERECOGNITIONTYPECODEID,
                                    @CURRENTDATE,@CURRENTDATE,@CHANGEAGENTID,@CHANGEAGENTID
                                );
                            end
                        end try
                        begin catch
                            exec dbo.USP_RAISE_ERROR;
                            return 1;
                        end catch

                    return 0;