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;