/// <summary>
 /// Initializes a new instance of the <see cref="CategoryAccessProvider"/> class.
 /// </summary>
 /// <param name="portalContext">Portal Context</param>
 /// <param name="contentAccessLevelProvider">Content Access Level Provider</param>
 /// <param name="productAccessProvider">Product Access Provider</param>
 public CategoryAccessProvider(IPortalContext portalContext, ContentAccessLevelProvider contentAccessLevelProvider, ProductAccessProvider productAccessProvider)
     : base(ContentAccessConfiguration.DefaultCategoryConfiguration(), portalContext)
 {
     this.ContentAccessLevelProvider = contentAccessLevelProvider;
     this.ProductAccessProvider      = productAccessProvider;
 }
Beispiel #2
0
        /// <summary>
        /// Modify a fetch and add necessary link entity elements and filter conditions to satisfy record level security trimming based on the relationship definitions.
        /// </summary>
        /// <param name="serviceContext"><see cref="OrganizationServiceContext"/> to use</param>
        /// <param name="linkDetails"><see cref="ContentAccessProvider.LinkDetails"/> to use</param>
        /// <param name="fetch">Fetch to modify</param>
        /// <param name="link">Link to construct</param>
        /// <param name="filter">Filter to construct</param>
        /// <param name="contact">Associated Contact</param>
        /// <param name="account">Associated Account</param>
        /// <param name="addCondition">Construct Account/Contact relationship filter</param>
        /// <param name="linkEntityAliasGenerator">LinkEntityAliasGenerator to track and create Aliases</param>
        private void BuildLinksAndFilter(OrganizationServiceContext serviceContext, LinkDetails linkDetails, Fetch fetch, Link link, Filter filter, EntityReference contact, EntityReference account, bool addCondition, LinkEntityAliasGenerator linkEntityAliasGenerator)
        {
            var relationshipMetadata = this.BuildRelationshipMetadata(serviceContext, linkDetails);

            ProductAccessProvider.BuildLinksAndFilter(serviceContext, relationshipMetadata, linkDetails, fetch, link, filter, contact, account, addCondition, linkEntityAliasGenerator);
        }