Esempio n. 1
0
        /// <summary>
        /// Converts a <see cref="TcmCDService.Contracts.TaxonomyFilter" /> to <see cref="T:Tridion.ContentDelivery.Taxonomies.TaxonomyFilter" />
        /// </summary>
        /// <param name="taxonomyFilter"><see cref="TcmCDService.Contracts.TaxonomyFilter" /></param>
        /// <returns><see cref="T:Tridion.ContentDelivery.Taxonomies.TaxonomyFilter" /> or null</returns>
        internal static TaxonomyFilter ToTaxonomyFilter(this Contracts.TaxonomyFilter taxonomyFilter)
        {
            if (taxonomyFilter != null)
            {
                CompositeFilter filter = new CompositeFilter();

                if (taxonomyFilter.FilterConcrete.HasValue || taxonomyFilter.FilterAbstract.HasValue)
                {
                    filter.AbstractKeywordFiltering(taxonomyFilter.FilterConcrete.GetValueOrDefault(false),
                                                    taxonomyFilter.FilterAbstract.GetValueOrDefault(false));
                }

                if (taxonomyFilter.DepthFilteringLevel.HasValue)
                {
                    filter.DepthFiltering(taxonomyFilter.DepthFilteringLevel.GetValueOrDefault(-1), (int)taxonomyFilter.DepthFilteringDirection);
                }

                if (taxonomyFilter.FilterHasChildren.HasValue || taxonomyFilter.FilterNavigable.HasValue)
                {
                    filter.PropertyKeywordFiltering(taxonomyFilter.FilterHasChildren.GetValueOrDefault(false),
                                                    taxonomyFilter.FilterNavigable.GetValueOrDefault(false));
                }

                return(filter);
            }

            return(null);
        }
        /// <summary>
        /// Converts a <see cref="TcmCDService.Contracts.TaxonomyFilter" /> to <see cref="T:Tridion.ContentDelivery.Taxonomies.TaxonomyFilter" />
        /// </summary>
        /// <param name="taxonomyFilter"><see cref="TcmCDService.Contracts.TaxonomyFilter" /></param>
        /// <returns><see cref="T:Tridion.ContentDelivery.Taxonomies.TaxonomyFilter" /> or null</returns>
        internal static TaxonomyFilter ToTaxonomyFilter(this Contracts.TaxonomyFilter taxonomyFilter)
        {
            if (taxonomyFilter != null)
            {
                CompositeFilter filter = new CompositeFilter();

                if (taxonomyFilter.FilterConcrete.HasValue || taxonomyFilter.FilterAbstract.HasValue)
                    filter.AbstractKeywordFiltering(taxonomyFilter.FilterConcrete.GetValueOrDefault(false),
                        taxonomyFilter.FilterAbstract.GetValueOrDefault(false));

                if (taxonomyFilter.DepthFilteringLevel.HasValue)
                    filter.DepthFiltering(taxonomyFilter.DepthFilteringLevel.GetValueOrDefault(-1), (int)taxonomyFilter.DepthFilteringDirection);

                if (taxonomyFilter.FilterHasChildren.HasValue || taxonomyFilter.FilterNavigable.HasValue)
                    filter.PropertyKeywordFiltering(taxonomyFilter.FilterHasChildren.GetValueOrDefault(false),
                        taxonomyFilter.FilterNavigable.GetValueOrDefault(false));

                return filter;
            }

            return null;
        }