USP_DATAFORMTEMPLATE_EDIT_REGISTRANTGUEST

The save procedure used by the edit dataform template "Registrant Guest Edit 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.
@CONSTITUENTID uniqueidentifier IN Registrant
@ATTENDED bit IN Attended
@EVENTSEATINGNOTE nvarchar(250) IN Seating note
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_REGISTRANTGUEST
                    (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @CONSTITUENTID uniqueidentifier,
                        @ATTENDED bit,
                        @EVENTSEATINGNOTE nvarchar(250),
                        @CURRENTAPPUSERID uniqueidentifier
                    )
                    as                    
                        set nocount on;

                        declare @CURRENTDATE datetime;

                        if @CHANGEAGENTID is null  
                            exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

                        set @CURRENTDATE = getdate();                        

                        declare @CHECKCONSTITUENTSECURITY bit;
                        select
                          @CHECKCONSTITUENTSECURITY =
                            case
                              when @CONSTITUENTID = REGISTRANT.CONSTITUENTID then 0
                              else 1
                            end
                        from
                          dbo.REGISTRANT
                        where
                          REGISTRANT.ID = @ID;

                        declare @ISADMIN bit;
                        if @CHECKCONSTITUENTSECURITY = 1
                                set @ISADMIN = dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID);

                        begin try
                            if @CHECKCONSTITUENTSECURITY = 1 and @ISADMIN = 0
                                if dbo.UFN_SECURITY_APPUSER_GRANTED_FORM_FORCONSTIT(@CURRENTAPPUSERID, '52F9C21F-043E-4CDD-ADB7-455B4959E4B0', @CONSTITUENTID) <> 1
                                    begin
                                        raiserror ('ERR_CONSTITUENT_RECORDSECURITY_PERMISSION_DENIED',13,1);
                                        return 1;
                                    end

                            update 
                                dbo.REGISTRANT
                            set
                                ATTENDED = @ATTENDED,
                                EVENTSEATINGNOTE = @EVENTSEATINGNOTE,
                                CONSTITUENTID = @CONSTITUENTID,
                                CHANGEDBYID = @CHANGEAGENTID,
                                DATECHANGED = @CURRENTDATE
                            where
                                ID = @ID;
                        end try

                        begin catch
                            exec dbo.USP_RAISE_ERROR;
                            return 1;
                        end catch

                        return 0;