USP_DATAFORMTEMPLATE_ADD_CAMPAIGNFUNDRAISERFROMTEAM2

The save procedure used by the add dataform template "Campaign Fundraiser From Team Add Form 2".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CAMPAIGNID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@ORGTEAMIDSET uniqueidentifier IN Team
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@DATEFROM datetime IN Start date
@DATETO datetime IN End date

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_CAMPAIGNFUNDRAISERFROMTEAM2 (
                        @ID uniqueidentifier = null output,
                        @CAMPAIGNID uniqueidentifier,
                        @ORGTEAMIDSET uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @DATEFROM datetime = null,
                        @DATETO datetime = null
                    ) as begin
                        set nocount on;

                        begin try

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

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

                            declare @IDS as table(ID uniqueidentifier);
                            insert into @IDS exec USP_ORGANIZATIONHIERARCHY_IDSET_POSITIONHOLDERS @ORGTEAMIDSET, @CHANGEAGENTID;                             

                            with FUNDRAISERS_CTE as (
                                select distinct
                                    FUNDRAISERDATERANGE.CONSTITUENTID
                                from 
                                    dbo.FUNDRAISERDATERANGE
                                    inner join dbo.ORGANIZATIONPOSITIONHOLDER on ORGANIZATIONPOSITIONHOLDER.CONSTITUENTID = FUNDRAISERDATERANGE.CONSTITUENTID
                                    inner join @IDS as SELECTION on ORGANIZATIONPOSITIONHOLDER.ID = SELECTION.ID
                            )
                            insert into dbo.CAMPAIGNFUNDRAISER (
                                ID,
                                CAMPAIGNID,
                                CONSTITUENTID,
                                DATEFROM,
                                DATETO,
                                DATEADDED,
                                DATECHANGED,
                                ADDEDBYID,
                                CHANGEDBYID
                            )
                            select
                                newid(),
                                @CAMPAIGNID,
                                FUNDRAISERS_CTE.CONSTITUENTID,
                                @DATEFROM,
                                @DATETO,
                                @CURRENTDATE,
                                @CURRENTDATE,
                                @CHANGEAGENTID,
                                @CHANGEAGENTID
                            from
                                FUNDRAISERS_CTE;

                            set @ID = @CAMPAIGNID;

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

                        return 0;
                    end