USP_DATAFORMTEMPLATE_EDIT_PREREGISTEREDPROGRAMEVENTREGISTRANTSTATUS
The save procedure used by the edit dataform template "Preregistered Program Event Registrant Status 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. |
| @REGISTRANTS | xml | IN | Registrants |
| @ATTENDED | bit | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_PREREGISTEREDPROGRAMEVENTREGISTRANTSTATUS
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@REGISTRANTS xml,
@ATTENDED bit
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
begin try
update dbo.REGISTRANT set
ATTENDED = @ATTENDED,
ISCANCELLED = case when ISCANCELLED = 1 and @ATTENDED = 1
then 0
else
ISCANCELLED
end,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
from dbo.REGISTRANT
inner join @REGISTRANTS.nodes('/REGISTRANTS/ITEM') T(items)
on T.items.value('(ID)[1]','uniqueidentifier') = REGISTRANT.ID
where REGISTRANT.EVENTID = @ID
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0;