USP_DATAFORMTEMPLATE_EDIT_PROSPECTPLANFUNDRAISERSREQUEST_2

The save procedure used by the edit dataform template "Prospect Plan Request Fundraisers Request Edit Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@PRIMARYMANAGERFUNDRAISERID uniqueidentifier IN Primary manager
@SECONDARYMANAGERFUNDRAISERID uniqueidentifier IN Secondary manager
@SECONDARYFUNDRAISERS xml IN
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@PRIMARYMANAGERSTARTDATE datetime IN Start date
@SECONDARYMANAGERSTARTDATE datetime IN Start date

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_PROSPECTPLANFUNDRAISERSREQUEST_2 (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,    
                        @PRIMARYMANAGERFUNDRAISERID uniqueidentifier,
                        @SECONDARYMANAGERFUNDRAISERID uniqueidentifier,
                        @SECONDARYFUNDRAISERS xml,
                        @CURRENTAPPUSERID uniqueidentifier,
                        @PRIMARYMANAGERSTARTDATE datetime,
                        @SECONDARYMANAGERSTARTDATE datetime
                    ) as begin
                        set nocount on;                                

                        declare @TEMPID uniqueidentifier;
                        declare @EMPTYGUID uniqueidentifier;

                        set @EMPTYGUID = '00000000-0000-0000-0000-000000000000'

                        begin try

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

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


                            -- Primary manager

                            begin try
                                if @PRIMARYMANAGERFUNDRAISERID is not null begin
                                    set @TEMPID = newid();
                                    insert into dbo.PROSPECTASSIGNMENTREQUEST (ID, TYPECODE, NEWFUNDRAISERID, SUBMITTEDBYID, STARTDATE, ADDEDBYID, CHANGEDBYID)
                                    values (@TEMPID, 2, @PRIMARYMANAGERFUNDRAISERID, @CURRENTAPPUSERID, @PRIMARYMANAGERSTARTDATE, @CHANGEAGENTID, @CHANGEAGENTID);

                                    insert into dbo.PROSPECTASSIGNMENTREQUESTPROSPECTPLAN (ID, PROSPECTPLANID, ADDEDBYID, CHANGEDBYID)
                                    values (@TEMPID, @ID, @CHANGEAGENTID, @CHANGEAGENTID);
                                end
                            end try
                            begin catch
                                raiserror('PROSEPECTPLANFUNDRAISERREQUEST_ERR_PRIMARYMANAGER', 13, 1)
                            end catch

                            -- Secondary manager

                            begin try
                                if @SECONDARYMANAGERFUNDRAISERID is not null begin
                                    set @TEMPID = newid();
                                    insert into dbo.PROSPECTASSIGNMENTREQUEST (ID, TYPECODE, NEWFUNDRAISERID, SUBMITTEDBYID, STARTDATE, ADDEDBYID, CHANGEDBYID)
                                    values (@TEMPID, 3, @SECONDARYMANAGERFUNDRAISERID, @CURRENTAPPUSERID, @SECONDARYMANAGERSTARTDATE, @CHANGEAGENTID, @CHANGEAGENTID);

                                    insert into dbo.PROSPECTASSIGNMENTREQUESTPROSPECTPLAN (ID, PROSPECTPLANID, ADDEDBYID, CHANGEDBYID)
                                    values (@TEMPID, @ID, @CHANGEAGENTID, @CHANGEAGENTID);
                                end
                            end try
                            begin catch
                                raiserror('PROSEPECTPLANFUNDRAISERREQUEST_ERR_SECONDARYMANAGER', 13, 1)
                            end catch

                            -- Secondary fundraisers

                            begin try
                                exec dbo.USP_PROSPECTPLAN_SECONDARYFUNDRAISERS_ADDREQUESTSFROMXML @ID, @SECONDARYFUNDRAISERS, @CHANGEAGENTID, @CURRENTDATE, @CURRENTAPPUSERID;
                            end try
                            begin catch
                                raiserror('PROSEPECTPLANFUNDRAISERREQUEST_ERR_SECONDARYFUNDRAISER', 13, 1)
                            end catch


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

                        return 0;

                    end;