USP_DATAFORMTEMPLATE_EDIT_MOBILE_STEP
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_MOBILE_STEP
(
@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