USP_DATAFORMTEMPLATE_ADD_TEAMFUNDRAISINGTEAMATTEAM

The save procedure used by the add dataform template "Team Fundraising Team at Team 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.
@PARENTTEAMID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@NAME nvarchar(100) IN Name
@GOAL money IN Goal
@CAPTAINS xml IN Captains
@TEAMFUNDRAISINGTEAMGROUPID uniqueidentifier IN TEAMFUNDRAISINGTEAMGROUPID
@TEAMHISTORYTEAMS xml IN Team history

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_TEAMFUNDRAISINGTEAMATTEAM
                    (
                        @ID uniqueidentifier = null output,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @PARENTTEAMID uniqueidentifier,
                        @NAME nvarchar(100),
                        @GOAL money = 0,
                        @CAPTAINS xml = null,
                        @TEAMFUNDRAISINGTEAMGROUPID uniqueidentifier = null,
                        @TEAMHISTORYTEAMS xml = null
                    )
                    as
                    begin
                        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
                            declare @APPEALID uniqueidentifier;
                            declare @BASECURRENCYID uniqueidentifier;

                            select
                                @APPEALID = TEAMFUNDRAISINGTEAM.APPEALID,
                                @BASECURRENCYID = APPEAL.BASECURRENCYID
                            from
                                dbo.TEAMFUNDRAISINGTEAM
                            left join dbo.APPEAL on APPEAL.ID = TEAMFUNDRAISINGTEAM.APPEALID
                            where
                                TEAMFUNDRAISINGTEAM.ID = @PARENTTEAMID;

                            declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
                            declare @ORGANIZATIONEXCHANGERATEID uniqueidentifier = dbo.UFN_CURRENCYEXCHANGERATE_GETLATESTORGANIZATIONRATE(@BASECURRENCYID, @ORGANIZATIONCURRENCYID, getdate(), null, null);
                            declare @ORGANIZATIONGOAL money = dbo.UFN_CURRENCY_CONVERTTOORGANIZATIONCURRENCY(@GOAL, @ORGANIZATIONEXCHANGERATEID, null);

                            exec dbo.USP_TEAMFUNDRAISINGTEAM_PREPARETEAMFUNDRAISINGTEAMGROUP @TEAMFUNDRAISINGTEAMGROUPID output,  @TEAMHISTORYTEAMS, @NAME, @CHANGEAGENTID, @CURRENTDATE;

                            if @TEAMFUNDRAISINGTEAMGROUPID is not null
                                exec dbo.USP_TEAMFUNDRAISINGTEAMGROUP_UPDATETEAMS @TEAMFUNDRAISINGTEAMGROUPID, @TEAMHISTORYTEAMS, @CHANGEAGENTID, @CURRENTDATE;

                            insert into dbo.TEAMFUNDRAISINGTEAM
                                (ID,APPEALID,NAME,GOAL,ORGANIZATIONGOAL,ORGANIZATIONEXCHANGERATEID,BASECURRENCYID,PARENTTEAMID,TEAMFUNDRAISINGTEAMGROUPID,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
                            values
                                (@ID,@APPEALID,@NAME,@GOAL,@ORGANIZATIONGOAL,@ORGANIZATIONEXCHANGERATEID,@BASECURRENCYID,@PARENTTEAMID,@TEAMFUNDRAISINGTEAMGROUPID,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE);

                            exec dbo.USP_TEAMFUNDRAISINGTEAM_GETCAPTAINS_ADDFROMXML @ID, @CAPTAINS, @CHANGEAGENTID;
                        end try

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

                        return 0;

                    end