USP_DATAFORMTEMPLATE_EDIT_UPDATEEVENTATTENDANCE
The save procedure used by the edit dataform template "Update Event Attendance Edit Data 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. |
@ATTENDEDOPTION | tinyint | IN | Update all registrants whose attendance is unspecified to |
@INCLUDESUBEVENTS | int | IN | Update |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_UPDATEEVENTATTENDANCE (
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@ATTENDEDOPTION tinyint,
@INCLUDESUBEVENTS integer
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
begin try
if @ATTENDEDOPTION = 1
update
dbo.REGISTRANT
set
ATTENDED = 1
,CHANGEDBYID = @CHANGEAGENTID
,DATECHANGED = @CURRENTDATE
where
((EVENTID = @ID and @INCLUDESUBEVENTS = 0)
or (EVENTID in (select ID from dbo.UFN_EVENT_GETALLEVENTSINHIERARCHY(@ID)) and @INCLUDESUBEVENTS = 1))
and (ATTENDED = 0)
and (WILLNOTATTEND = 0)
and (USERMARKEDATTENDANCE = 0)
and (dbo.UFN_REGISTRANT_ISCANCELLED(REGISTRANT.ID) = 0);
else if @ATTENDEDOPTION = 0
update
dbo.REGISTRANT
set
ATTENDED = 0
,CHANGEDBYID = @CHANGEAGENTID
,DATECHANGED = @CURRENTDATE
where
((EVENTID = @ID and @INCLUDESUBEVENTS = 0)
or (EVENTID in (select ID from dbo.UFN_EVENT_GETALLEVENTSINHIERARCHY(@ID)) and @INCLUDESUBEVENTS = 1))
and (ATTENDED = 1)
and (USERMARKEDATTENDANCE = 0)
and (ISWALKIN = 0);
update dbo.EVENT
set ISPROCESSED = ~ISPROCESSED,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where ((ID = @ID and @INCLUDESUBEVENTS = 0)
or (ID in (select ID from dbo.UFN_EVENT_GETALLEVENTSINHIERARCHY(@ID)) and @INCLUDESUBEVENTS = 1))
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0;