USP_DATAFORMTEMPLATE_ADD_ASSIGNPROSPECTREQUEST

The save procedure used by the add dataform template "Fundraiser Assignment Request Edit 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.
@FUNDRAISERID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@PROSPECTID uniqueidentifier IN Prospect
@PROSPECTPLANID uniqueidentifier IN Plan
@FUNDRAISERROLECODE tinyint IN Fundraiser's role
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@STARTDATE datetime IN Start date

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_ASSIGNPROSPECTREQUEST (
                        @ID uniqueidentifier = null output,
                        @CHANGEAGENTID uniqueidentifier = null,    
                        @FUNDRAISERID uniqueidentifier,
                        @PROSPECTID uniqueidentifier,
                        @PROSPECTPLANID uniqueidentifier,
                        @FUNDRAISERROLECODE tinyint,
                        @CURRENTAPPUSERID uniqueidentifier,
                        @STARTDATE datetime = null
                    ) as begin
                        set nocount on;

                        if not exists(select SITEID from dbo.UFN_SITEID_MAPFROM_PROSPECTPLANID(@PROSPECTPLANID) SITES where dbo.UFN_SITEALLOWEDFORUSERONFEATURE(@CURRENTAPPUSERID, SITES.SITEID, '6894C1A3-075C-4E88-818F-8BACB7BDA271', 1) = 1)
                            raiserror('ASSIGNPROSPECTREQUEST_ERR_ACCESSDENIEDFORPROSPECTPLAN', 13, 1);

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

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

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

                        declare @TYPECODE tinyint;

                        begin try
                            set @TYPECODE = case @FUNDRAISERROLECODE when 1 then 2 when 2 then 3 else 4 end;

                            insert into dbo.PROSPECTASSIGNMENTREQUEST (ID, TYPECODE, NEWFUNDRAISERID, SUBMITTEDBYID, STARTDATE, ADDEDBYID, CHANGEDBYID)
                            values (@ID, @TYPECODE, @FUNDRAISERID, @CURRENTAPPUSERID, @STARTDATE, @CHANGEAGENTID, @CHANGEAGENTID);

                            insert into dbo.PROSPECTASSIGNMENTREQUESTPROSPECTPLAN (ID, PROSPECTPLANID, ADDEDBYID, CHANGEDBYID)
                            values (@ID, @PROSPECTPLANID, @CHANGEAGENTID, @CHANGEAGENTID);

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

                        return 0;
                    end