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;