USP_DATAFORMTEMPLATE_EDIT_RESEARCHGROUP_3

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@CURRENTAPPUSERID uniqueidentifier IN
@NAME nvarchar(100) IN
@DESCRIPTION nvarchar(255) IN
@IDSETREGISTERID uniqueidentifier IN
@OWNERID uniqueidentifier IN
@OTHERSCANMODIFY bit IN
@OTHERSCANVIEW bit IN
@ALLOWREFRESH bit IN
@AUTOREFRESH bit IN
@POPULATEMETHODCODE tinyint IN
@CATEGORYCODEID uniqueidentifier IN
@SITES xml IN
@RESEARCHGROUPCRITERIA xml IN
@INCLUDEATTRIBUTES bit IN

Definition

Copy


                    create procedure dbo.USP_DATAFORMTEMPLATE_EDIT_RESEARCHGROUP_3 (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @CURRENTAPPUSERID uniqueidentifier,
                        @NAME nvarchar(100),
                        @DESCRIPTION nvarchar(255),
                    @IDSETREGISTERID uniqueidentifier,
            @OWNERID uniqueidentifier,
                    @OTHERSCANMODIFY bit,
                    @OTHERSCANVIEW bit,
            @ALLOWREFRESH bit,
            @AUTOREFRESH bit,
            @POPULATEMETHODCODE tinyint,
            @CATEGORYCODEID uniqueidentifier,
                    @SITES xml,
            @RESEARCHGROUPCRITERIA xml,
            @INCLUDEATTRIBUTES bit
                    ) as
                        set nocount on;

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

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

                        begin try

                          if exists(select top 1 1 from dbo.IDSETREGISTER where ID = @IDSETREGISTERID and USEINQUERYDESIGNER = 0)
                              raiserror('BBERR_IDSETREQUIRES_QUERY',13,1);

                            exec dbo.USP_RESEARCHGROUP_VALIDATESITES @SITES, @CURRENTAPPUSERID, '8A080A01-617B-4F37-85D2-98E282652BD3', 1, 1;

                            if dbo.UFN_RESEARCHGROUP_USERCANMODIFY(@ID, @CURRENTAPPUSERID) = 1 
              begin

                declare @HASADMINRIGHTS bit = dbo.UFN_RESEARCHGROUP_USERHASADMINRIGHTS(@ID, @CURRENTAPPUSERID)

                                update
                                    dbo.RESEARCHGROUP
                                set
                                    NAME = @NAME,
                                    DESCRIPTION = @DESCRIPTION,
                          IDSETREGISTERID = @IDSETREGISTERID,
                  OWNERID = case when @HASADMINRIGHTS = 1 then @OWNERID else OWNERID end,
                          OTHERSCANMODIFY = case when @HASADMINRIGHTS = 1 then @OTHERSCANMODIFY else OTHERSCANMODIFY end,
                  OTHERSCANVIEW = case when @HASADMINRIGHTS = 1 then @OTHERSCANVIEW else OTHERSCANVIEW end,
                  ALLOWREFRESH = @ALLOWREFRESH,
                  AUTOREFRESH = @AUTOREFRESH,
                  POPULATEMETHODCODE = @POPULATEMETHODCODE,
                  CATEGORYCODEID = @CATEGORYCODEID,
                                    CHANGEDBYID = @CHANGEAGENTID,
                                    DATECHANGED = @CURRENTDATE,
                  INCLUDEATTRIBUTES = @INCLUDEATTRIBUTES
                                where
                                    ID = @ID;


                                exec dbo.USP_RESEARCHGROUP_GETSITES_UPDATEFROMXML @ID, @SITES, @CHANGEAGENTID, @CURRENTDATE;
                                exec dbo.USP_RESEARCHGROUP_GETCRITERIA_UPDATEFROMXML @ID, @RESEARCHGROUPCRITERIA, @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;