USP_DATAFORMTEMPLATE_RESEARCHDETAILS_EDITSAVE_2

The save procedure used by the edit dataform template "Research Details 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.
@PROSPECTMANAGERFUNDRAISERID uniqueidentifier IN Prospect manager
@RESEARCHSTATUSCONFIRMED bit IN Confirmed
@RESEARCHSUMMARY nvarchar(max) IN Research summary
@CURRENTAPPUSERID uniqueidentifier IN

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_RESEARCHDETAILS_EDITSAVE_2 (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @PROSPECTMANAGERFUNDRAISERID uniqueidentifier,
                        @RESEARCHSTATUSCONFIRMED bit,
                        @RESEARCHSUMMARY nvarchar(max),
                        @CURRENTAPPUSERID uniqueidentifier = null
                    ) as
                        set nocount on;

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

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

                        begin try
                            if (not exists(select 1 from dbo.PROSPECT where ID=@ID)) begin
                                insert into dbo.PROSPECT (
                                    ID,
                                    RESEARCHSTATUSCONFIRMED,
                                    RESEARCHSUMMARY,
                                    LASTRESEARCHEDBYID,
                                    ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED, LASTUPDATED
                                ) values (
                                    @ID,
                                    @RESEARCHSTATUSCONFIRMED,
                                    @RESEARCHSUMMARY,
                                    @CURRENTAPPUSERID,
                                    @CHANGEAGENTID, @CHANGEAGENTID, @TODAY, @TODAY, @TODAY
                                )
                            end else begin
                                update dbo.PROSPECT set
                                    RESEARCHSTATUSCONFIRMED = @RESEARCHSTATUSCONFIRMED,
                                    RESEARCHSUMMARY = @RESEARCHSUMMARY,
                                    LASTRESEARCHEDBYID = @CURRENTAPPUSERID,
                                    CHANGEDBYID = @CHANGEAGENTID,
                                    DATECHANGED = @TODAY,
                                    LASTUPDATED = @TODAY
                                where
                                    ID = @ID;
                            end

                            if (@RESEARCHSTATUSCONFIRMED = 1) and (not exists(select 1 from dbo.PROSPECTDATERANGE where CONSTITUENTID=@ID))
                                insert into dbo.PROSPECTDATERANGE (
                                    CONSTITUENTID,
                                    ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED
                                ) values (
                                    @ID,
                                    @CHANGEAGENTID, @CHANGEAGENTID, @TODAY, @TODAY
                                );
                        end try
                        begin catch
                            exec dbo.USP_RAISE_ERROR;
                            return 1;
                        end catch

                        return 0;