USP_DATAFORMTEMPLATE_ADD_MATCHINGGIFTCONDITION

The save procedure used by the add dataform template "Matching Gift Condition Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@ORGANIZATIONID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@MATCHINGGIFTCONDITIONTYPECODEID uniqueidentifier IN Type
@MATCHINGFACTOR decimal(5, 2) IN Matching factor
@MINMATCHPERGIFT money IN Min match per gift
@MAXMATCHPERGIFT money IN Max match per gift
@MAXMATCHANNUAL money IN Max match per year
@MAXMATCHTOTAL money IN Max match total
@NOTES nvarchar(max) IN Notes
@RELATIONSHIPS xml IN Relationship mappings

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_MATCHINGGIFTCONDITION
                    (
                        @ID uniqueidentifier = null output,
                        @CHANGEAGENTID uniqueidentifier = null,    
                        @ORGANIZATIONID uniqueidentifier,
                        @MATCHINGGIFTCONDITIONTYPECODEID uniqueidentifier = null,
                        @MATCHINGFACTOR decimal(5,2) = 0,
                        @MINMATCHPERGIFT money = 0,
                        @MAXMATCHPERGIFT money = 0,
                        @MAXMATCHANNUAL money = 0,
                        @MAXMATCHTOTAL money = 0,
                        @NOTES nvarchar(max) = '',
                        @RELATIONSHIPS xml = null
                    )
                    as
                        set nocount on;

                        declare @CURRENTDATE datetime;

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

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

                        set @CURRENTDATE = getdate();

                        begin try                        
                            insert into dbo.[MATCHINGGIFTCONDITION]
                            (
                                [ID],
                                [ORGANIZATIONID],
                                [MATCHINGGIFTCONDITIONTYPECODEID],
                                [MATCHINGFACTOR],
                                [MINMATCHPERGIFT],
                                [MAXMATCHPERGIFT],
                                [MAXMATCHANNUAL],
                                [MAXMATCHTOTAL],
                                [NOTES],
                                [ADDEDBYID],
                                [CHANGEDBYID],
                                [DATEADDED],
                                [DATECHANGED]
                            )
                            values
                            (
                                @ID,
                                @ORGANIZATIONID,
                                @MATCHINGGIFTCONDITIONTYPECODEID,
                                @MATCHINGFACTOR,
                                @MINMATCHPERGIFT,
                                @MAXMATCHPERGIFT,
                                @MAXMATCHANNUAL,
                                @MAXMATCHTOTAL,
                                @NOTES,
                                @CHANGEAGENTID,
                                @CHANGEAGENTID,
                                @CURRENTDATE,
                                @CURRENTDATE
                            );

                            if @RELATIONSHIPS is not null begin
                                exec dbo.USP_MATCHINGGIFTCONDITIONRELATIONSHIP_VALIDATERELATIONSHIPTYPES @ID, @RELATIONSHIPS;
                                exec dbo.USP_MATCHINGGIFTCONDITIONRELATIONSHIP_GETRELATIONSHIPS_UPDATEFROMXML @ID, @RELATIONSHIPS, @CHANGEAGENTID;                            
                            end;
                        end try

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

                        return 0;