USP_DATAFORMTEMPLATE_EDIT_EVENTCOORDINATOR_2

The save procedure used by the edit dataform template "Event Coordinator 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 Coordinator
@ISPRIMARY bit IN Is primary
@CURRENTAPPUSERID uniqueidentifier IN

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_EVENTCOORDINATOR_2
                    (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,    
                        @CONSTITUENTID uniqueidentifier,
                        @ISPRIMARY bit,
                        @CURRENTAPPUSERID uniqueidentifier = null
                    )
                    as
                        set nocount on;

                        -- Verify the user has access to the new constituent

                        declare @DATAFORMINSTANCEID uniqueidentifier;
                        set @DATAFORMINSTANCEID = 'B77A583B-1B91-4D9A-A918-F8EB4A73603A';
                        declare @ISADMIN bit;
                        set @ISADMIN = dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID);

                        if (@ISADMIN = 0)
                          begin
                            select 
                                top(1) ID
                            from 
                                dbo.CONSTITUENT
                            where
                                CONSTITUENT.ID = @CONSTITUENTID
                            and(
                              dbo.UFN_SECURITY_APPUSER_GRANTED_FORM_FORCONSTIT(@CURRENTAPPUSERID, @DATAFORMINSTANCEID, CONSTITUENT.ID) = 1
                              and
                              exists(select SITEID from dbo.UFN_SITEID_MAPFROM_CONSTITUENTID(CONSTITUENT.ID)
                                  where dbo.UFN_SECURITY_APPUSER_GRANTED_FORM_FORSITE(@CURRENTAPPUSERID, @DATAFORMINSTANCEID, SITEID) = 1)
                            )

                            if @@ROWCOUNT = 0
                              begin
                                raiserror('BBERR_CONSTITUENT_NOACCESS',13,1);
                                return 0;
                              end
                        end

                        declare @CURRENTDATE datetime                                        

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

                        set @CURRENTDATE = getdate()

                        --remove the event's primary coordinator if this coordinator has ISPRIMARY set to 1.

                        if @ISPRIMARY = 1
                        begin
                          update dbo.EVENTCOORDINATOR 
                          set
                            ISPRIMARY = 0
                          where 
                            EVENTCOORDINATOR.EVENTID = (select EVENTID from EVENTCOORDINATOR where ID = @ID) and
                            ISPRIMARY = 1
                        end

                        begin try                                   
                            update 
                                dbo.EVENTCOORDINATOR
                            set
                                CONSTITUENTID = @CONSTITUENTID,
                                ISPRIMARY = @ISPRIMARY,
                                CHANGEDBYID = @CHANGEAGENTID,
                                DATECHANGED = @CURRENTDATE
                            where 
                                ID = @ID
                        end try

                        begin catch
                            exec dbo.USP_RAISE_ERROR
                            return 1
                        end catch

                        return 0