spGetClientUserPrivacy

Parameters

Parameter Parameter Type Mode Description
@ClientsID int IN
@RaisersEdgeRecordID int IN
@ItIsMe bit IN

Definition

Copy


      CREATE PROCEDURE [dbo].[spGetClientUserPrivacy]
                    (
                        @ClientsID int,
                        @RaisersEdgeRecordID int,
                        @ItIsMe bit
                    )
                AS
            BEGIN
                set nocount on

                DECLARE @BackOfficeSystemPeopleID int
                exec dbo.spGetBackOfficeSystemPeopleID @RaisersEdgeRecordID, 0, @BackOfficeSystemPeopleID OUTPUT

                DECLARE @RECountryMask INT
                SELECT @RECountryMask = RECountryMask
                FROM dbo.Clients
                WHERE [id] = @ClientsID


                if @ItIsMe = 1 And @BackOfficeSystemPeopleID > 0
                    INSERT INTO ClientUserFieldPrivacy(BackOfficeSystemPeopleID, FieldID, FieldAttribID, Private)
                    SELECT @BackOfficeSystemPeopleID, fields.fieldID, fields.AttribTypeID, isnull(fp.private,case when fields.privateShowbydefault=1 then 0  else 1 end) Private
                    FROM dbo.ApplicationFields Fields
                    LEFT OUTER JOIN dbo.ApplicationFields Cats ON Fields.ParentFieldID = Cats.FieldID
                    LEFT OUTER JOIN dbo.ClientUserFieldPrivacy FP ON FP.FieldID = fields.FieldID and FP.FieldAttribID = fields.AttribTypeID AND FP.BackOfficeSystemPeopleID = @BackOfficeSystemPeopleID
                    WHERE 
                    Fields.CountryMask & @RECountryMask = @RECountryMask
                    and fields.fieldtype=1
                    and fields.parentFieldID is not null
                    and fp.Private is null

                SELECT fields.fieldID, fields.AttribTypeID FieldAttribID, isnull(fp.private,case when fields.privateShowbydefault=1 then 0  else 1 end) Private
                FROM dbo.ApplicationFields Fields
                LEFT OUTER JOIN dbo.ApplicationFields Cats ON Fields.ParentFieldID = Cats.FieldID
                LEFT OUTER JOIN dbo.ClientUserFieldPrivacy FP ON FP.FieldID = fields.FieldID and FP.FieldAttribID = fields.AttribTypeID    and FP.BackOfficeSystemPeopleID = @BackOfficeSystemPeopleID
                WHERE 
                Fields.CountryMask & @RECountryMask = @RECountryMask
                and fields.fieldtype=1
                and fields.parentFieldID is not null
            END