USP_DATAFORMTEMPLATE_VIEW_RESEARCHGROUPPROFILE2

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CURRENTAPPUSERID uniqueidentifier IN
@DATALOADED bit INOUT
@DESCRIPTION nvarchar(1024) INOUT
@OWNER nvarchar(128) INOUT
@CATEGORY nvarchar(128) INOUT
@NUMMEMBERS int INOUT
@NUMRE7LINKED int INOUT
@OTHERSCANVIEW bit INOUT
@OTHERSCANMODIFY bit INOUT
@ALLOWREFRESH bit INOUT
@POPULATEMETHOD nvarchar(128) INOUT
@AUTOREFRESH bit INOUT
@SCREENLISTENABLE bit INOUT
@SCREENLISTVISIBLE bit INOUT
@SCREENLISTASCONSULTANTENABLE bit INOUT
@SCREENLISTASCONSULTANTVISIBLE bit INOUT
@SITES nvarchar(1024) INOUT

Definition

Copy

                CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_RESEARCHGROUPPROFILE2 (
                    @ID uniqueidentifier,
          @CURRENTAPPUSERID uniqueidentifier,
                    @DATALOADED bit = 0 output,
                    @DESCRIPTION nvarchar(1024) = null output,
                    @OWNER nvarchar(128) = null output,
                    @CATEGORY nvarchar(128) = null output,
                    @NUMMEMBERS int = null output,
                    @NUMRE7LINKED int = null output,
          @OTHERSCANVIEW bit = null output,
          @OTHERSCANMODIFY bit = null output,
          @ALLOWREFRESH bit = null output,
          @POPULATEMETHOD nvarchar(128) = null output,
          @AUTOREFRESH bit = null output,

          @SCREENLISTENABLE bit = null output,
          @SCREENLISTVISIBLE bit = null output,
          @SCREENLISTASCONSULTANTENABLE bit = null output,
          @SCREENLISTASCONSULTANTVISIBLE bit = null output,
          @SITES nvarchar(1024) = null output
                ) as
                    set nocount on;

        select 
          @DATALOADED = 1,
          @DESCRIPTION = RG.DESCRIPTION,
          @OWNER = COALESCE(AU.DISPLAYNAME,''),
          @CATEGORY = COALESCE(CAT.DESCRIPTION,''),
          @NUMMEMBERS = RG.NUMMEMBERS,
          @NUMRE7LINKED = dbo.UFN_RESEARCHGROUP_NUMRE7LINKEDMEMBERS(@ID),
          @OTHERSCANVIEW = OTHERSCANVIEW,
          @OTHERSCANMODIFY = OTHERSCANMODIFY,
          @ALLOWREFRESH = ALLOWREFRESH,
          @POPULATEMETHOD = RG.POPULATEMETHOD,
          @AUTOREFRESH = RG.AUTOREFRESH
        from RESEARCHGROUP RG
        left join
            dbo.APPUSER AU on AU.ID = RG.OWNERID
        left join
            dbo.RESEARCHGROUPCATEGORYCODE CAT on CAT.ID = RG.CATEGORYCODEID
        where @ID = RG.ID;

        declare @WEALTHUPDATEPENDING bit = 0;
        declare @ENABLEUPDATES bit = 0;
        declare @WEALTHPOINTREGISTERED bit = 0;
        declare @GROUPSCREENSAVAILABLE bit = 0;
        declare @ISSYSADMIN bit = 0;

        if exists(select 1 from dbo.WPSEARCHHISTORY where RESEARCHGROUPID=@ID and STATUSCODE in(0,1)) begin
                    set @WEALTHUPDATEPENDING = 1;
                end

                if (exists(
                        SELECT top(1) C.ID FROM dbo.RESEARCHGROUP RG
                        left join dbo.RESEARCHGROUPMEMBER RGM on RGM.RESEARCHGROUPID = RG.ID
                        join CONSTITUENT C on C.ID = RGM.CONSTITUENTID
                        left join DISABLEDWEALTHUPDATES DWU on C.ID = DWU.ID
                        where RG.ID = @ID and
                        DWU.ID is null and
                        C.ISORGANIZATION = 0 )) begin
                    set @ENABLEUPDATES = 1;
        end

                select top 1
                    @WEALTHPOINTREGISTERED = REGISTERED,
                    @GROUPSCREENSAVAILABLE = case when ACCOUNTTYPECODE in (1,2,5,6,7) then 1 else 0 end
                from
                    dbo.WEALTHPOINTCONFIGURATION;

        set @ISSYSADMIN = dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID);

        if @WEALTHUPDATEPENDING = 0 and @ENABLEUPDATES = 1 begin
          set @SCREENLISTASCONSULTANTENABLE = 1;
          if @GROUPSCREENSAVAILABLE = 1 begin
                  set @SCREENLISTENABLE = 1;
          end
        end

        if @WEALTHPOINTREGISTERED = 1 begin
                set @SCREENLISTVISIBLE = 1;
          if @ISSYSADMIN = 1 begin
                   set @SCREENLISTASCONSULTANTVISIBLE = 1;         
          end
        end

        select 
            @SITES = COALESCE(@SITES + '; ', '') + CAST(NAME AS varchar(30)) + case when len(NAME) > 30 then '...' else '' end
        FROM 
            dbo.SITE 
            inner join dbo.RESEARCHGROUPSITE ON RESEARCHGROUPSITE.SITEID = SITE.ID
        where
            RESEARCHGROUPSITE.RESEARCHGROUPID = @ID
        ORDER by SITE.NAME