USP_DATAFORMTEMPLATE_EDIT_RESEARCHGROUP_2

The save procedure used by the edit dataform template "Research Group 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.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@NAME nvarchar(100) IN Name
@DESCRIPTION nvarchar(255) IN Description
@SITES xml IN Sites

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_RESEARCHGROUP_2 (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @CURRENTAPPUSERID uniqueidentifier,
                        @NAME nvarchar(100),
                        @DESCRIPTION nvarchar(255),
                        @SITES xml
                    ) as
                        set nocount on;

                        declare @CURRENTDATE datetime;
                        set @CURRENTDATE = getdate();

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

                        declare @USERCANMODIFY bit;
                        set @USERCANMODIFY = 0;

                        select
                            @USERCANMODIFY = 1
                        from
                            dbo.RESEARCHGROUP RG
                        left join
                            dbo.APPUSER AU on AU.ID = RG.OWNERID
                        where
                            RG.ID = @ID and
                            (RG.OTHERSCANMODIFY = 1 or
                             RG.OWNERID = @CURRENTAPPUSERID or
                             RG.OWNERID is null or
                             dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1);

                        begin try
                            exec dbo.USP_RESEARCHGROUP_VALIDATESITES @SITES, @CURRENTAPPUSERID, 'AF2DC029-55BF-463B-8371-95F40CC1A47C', 1, 1;

                            if @USERCANMODIFY = 1 begin
                                update
                                    dbo.RESEARCHGROUP
                                set
                                    NAME = @NAME,
                                    DESCRIPTION = @DESCRIPTION,
                                    CHANGEDBYID = @CHANGEAGENTID,
                                    DATECHANGED = @CURRENTDATE
                                where
                                    ID = @ID;

                                exec dbo.USP_RESEARCHGROUP_GETSITES_UPDATEFROMXML @ID, @SITES, @CHANGEAGENTID, @CURRENTDATE;
                            end
                            else begin
                                raiserror ('ERR_RESEARCHGROUP_CANNOTMODIFY',13,1);
                            return 0;
                            end
                        end try
                        begin catch
                            exec dbo.USP_RAISE_ERROR;
                            return 1;
                        end catch

                        return 0;