USP_DATAFORMTEMPLATE_EDIT_STEP_7
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@EXPECTEDDATE | datetime | IN | |
@ACTUALDATE | datetime | IN | |
@STATUSCODE | tinyint | IN | |
@OWNERID | uniqueidentifier | IN | |
@INTERACTIONTYPECODEID | uniqueidentifier | IN | |
@OBJECTIVE | nvarchar(100) | IN | |
@PROSPECTPLANSTATUSCODEID | uniqueidentifier | IN | |
@COMMENT | nvarchar(max) | IN | |
@ADDITIONALFUNDRAISERS | xml | IN | |
@PARTICIPANTS | xml | IN | |
@INTERACTIONCATEGORYID | uniqueidentifier | IN | |
@INTERACTIONSUBCATEGORYID | uniqueidentifier | IN | |
@EXPECTEDSTARTTIME | UDT_HOURMINUTE | IN | |
@EXPECTEDENDTIME | UDT_HOURMINUTE | IN | |
@ISALLDAYEVENT | bit | IN | |
@TIMEZONEENTRYID | uniqueidentifier | IN | |
@ACTUALSTARTTIME | UDT_HOURMINUTE | IN | |
@ACTUALENDTIME | UDT_HOURMINUTE | IN | |
@LOCATIONID | uniqueidentifier | IN | |
@OTHERLOCATION | nvarchar(300) | IN |
Definition
Copy
create procedure dbo.USP_DATAFORMTEMPLATE_EDIT_STEP_7
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@EXPECTEDDATE datetime,
@ACTUALDATE datetime,
@STATUSCODE tinyint,
@OWNERID uniqueidentifier,
@INTERACTIONTYPECODEID uniqueidentifier,
@OBJECTIVE nvarchar(100),
@PROSPECTPLANSTATUSCODEID uniqueidentifier,
@COMMENT nvarchar(max),
@ADDITIONALFUNDRAISERS xml,
@PARTICIPANTS xml,
@INTERACTIONCATEGORYID uniqueidentifier,
@INTERACTIONSUBCATEGORYID uniqueidentifier,
@EXPECTEDSTARTTIME dbo.UDT_HOURMINUTE,
@EXPECTEDENDTIME dbo.UDT_HOURMINUTE,
@ISALLDAYEVENT bit,
@TIMEZONEENTRYID uniqueidentifier,
@ACTUALSTARTTIME dbo.UDT_HOURMINUTE,
@ACTUALENDTIME dbo.UDT_HOURMINUTE,
@LOCATIONID uniqueidentifier,
@OTHERLOCATION nvarchar(300)
) as begin
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
begin try
-- Clear the owner from additional fundraisers in case the new owner was an additional fundraiser
-- but isn't anymore. If they weren't cleared, a constraint violation would occur. If the owner
-- is still an additional fundraiser, it will be caught when updating the additional fundraisers.
delete from dbo.INTERACTIONADDITIONALFUNDRAISER where INTERACTIONID = @ID and FUNDRAISERID = @OWNERID;
declare @LOCATION nvarchar(300) = '';
set @LOCATION = dbo.UFN_INTERACTION_GETSINGLELINELOCATION(@LOCATIONID, @OTHERLOCATION);
update dbo.INTERACTION set
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = getdate(),
EXPECTEDDATE = @EXPECTEDDATE,
ACTUALDATE = @ACTUALDATE,
FUNDRAISERID = @OWNERID,
INTERACTIONTYPECODEID = @INTERACTIONTYPECODEID,
OBJECTIVE = @OBJECTIVE,
STATUSCODE = @STATUSCODE,
COMMENT = @COMMENT,
PROSPECTPLANSTATUSCODEID = @PROSPECTPLANSTATUSCODEID,
INTERACTIONSUBCATEGORYID = @INTERACTIONSUBCATEGORYID,
EXPECTEDSTARTTIME = @EXPECTEDSTARTTIME,
EXPECTEDENDTIME = @EXPECTEDENDTIME,
ISALLDAYEVENT = @ISALLDAYEVENT,
TIMEZONEENTRYID = @TIMEZONEENTRYID,
ACTUALSTARTTIME = @ACTUALSTARTTIME,
ACTUALENDTIME = @ACTUALENDTIME,
LOCATION = @LOCATION
where ID = @ID;
exec dbo.USP_INTERACTION_ADDITIONALFUNDRAISERS_UPDATEFROMXML @ID, @ADDITIONALFUNDRAISERS, @CHANGEAGENTID;
-- If the step isn't an interaction, clear any participants. Otherwise, just update them.
if @INTERACTIONTYPECODEID is null
delete from dbo.INTERACTIONPARTICIPANT where INTERACTIONID = @ID;
else
exec dbo.USP_INTERACTION_PARTICIPANTS_UPDATEFROMXML @ID, @PARTICIPANTS, @CHANGEAGENTID;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch;
return 0;
end