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;