public virtual string GetCategoryResponseGroup()
        {
            var result = CategoryResponseGroup.None;

            if (IncludeFields.ContainsAny("assets", "images", "imgSrc"))
            {
                result |= CategoryResponseGroup.WithImages;
            }

            if (IncludeFields.ContainsAny("properties"))
            {
                result |= CategoryResponseGroup.WithProperties;
            }

            if (IncludeFields.ContainsAny("seoInfo"))
            {
                result |= CategoryResponseGroup.WithSeo;
            }

            if (IncludeFields.ContainsAny("slug"))
            {
                result |= CategoryResponseGroup.WithLinks;
            }

            if (IncludeFields.ContainsAny("outline", "outlines", "slug", "level"))
            {
                result |= CategoryResponseGroup.WithOutlines;
            }

            return(result.ToString());
        }
 public SelectManager(int?top, IncludeFields <TableType> fieldsToInclude)
 {
     TopOrNull         = top;
     FieldsToInclude   = fieldsToInclude;
     tableInformation  = new TableInformation <TableType>();
     orderByStatements = new List <Tuple <Expression <Func <TableType, object> >, bool> >();
 }
Exemplo n.º 3
0
        public virtual string GetResponseGroup()
        {
            var result = CartAggregateResponseGroup.None;

            if (IncludeFields.Any(x => x.Contains("shipments")))
            {
                result |= CartAggregateResponseGroup.WithShipments;
            }
            if (IncludeFields.Any(x => x.Contains("payments")))
            {
                result |= CartAggregateResponseGroup.WithPayments;
            }
            if (IncludeFields.Any(x => x.Contains("items")))
            {
                result |= CartAggregateResponseGroup.WithLineItems;
            }
            if (IncludeFields.Any(x => x.Contains("dynamicProperties")))
            {
                result |= CartAggregateResponseGroup.WithDynamicProperties;
            }
            if (IncludeFields.Any(x => x.Contains("validationErrors")))
            {
                result |= CartAggregateResponseGroup.Validate;
            }

            return(result.ToString());
        }
Exemplo n.º 4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="PagingResult"/> class from a <see cref="PagingArgs"/> and optional total count.
        /// </summary>
        /// <param name="pagingArgs">The <see cref="PagingArgs"/>.</param>
        /// <param name="totalCount">The total record count where applicable.</param>
        /// <remarks>Where the <paramref name="pagingArgs"/> and <paramref name="totalCount"/> are both provided the <see cref="TotalPages"/> will be automatically created.</remarks>
        public PagingResult(PagingArgs pagingArgs, long?totalCount = null)
        {
            Check.NotNull(pagingArgs, nameof(pagingArgs));

            Skip       = pagingArgs.Skip;
            Take       = pagingArgs.Take;
            Page       = pagingArgs.Page;
            IsGetCount = pagingArgs.IsGetCount;
            TotalCount = (totalCount.HasValue && totalCount.Value < 0) ? null : totalCount;
            IncludeFields.AddRange(pagingArgs.IncludeFields);
            ExcludeFields.AddRange(pagingArgs.ExcludeFields);
        }
Exemplo n.º 5
0
    public virtual ValueSetValidationResult Validate(ValueSet valueSet)
    {
        if (ValidIndexCategories != null && !ValidIndexCategories.InvariantContains(valueSet.Category))
        {
            return(new ValueSetValidationResult(ValueSetValidationStatus.Failed, valueSet));
        }

        // check if this document is of a correct type of node type alias
        if (IncludeItemTypes != null && !IncludeItemTypes.InvariantContains(valueSet.ItemType))
        {
            return(new ValueSetValidationResult(ValueSetValidationStatus.Failed, valueSet));
        }

        // if this node type is part of our exclusion list
        if (ExcludeItemTypes != null && ExcludeItemTypes.InvariantContains(valueSet.ItemType))
        {
            return(new ValueSetValidationResult(ValueSetValidationStatus.Failed, valueSet));
        }

        var isFiltered = false;

        var filteredValues = valueSet.Values.ToDictionary(x => x.Key, x => x.Value.ToList());

        // filter based on the fields provided (if any)
        if (IncludeFields != null || ExcludeFields != null)
        {
            foreach (var key in valueSet.Values.Keys.ToList())
            {
                if (IncludeFields != null && !IncludeFields.InvariantContains(key))
                {
                    filteredValues.Remove(key); // remove any value with a key that doesn't match the inclusion list
                    isFiltered = true;
                }

                if (ExcludeFields != null && ExcludeFields.InvariantContains(key))
                {
                    filteredValues.Remove(key); // remove any value with a key that matches the exclusion list
                    isFiltered = true;
                }
            }
        }

        var filteredValueSet = new ValueSet(valueSet.Id, valueSet.Category, valueSet.ItemType, filteredValues.ToDictionary(x => x.Key, x => (IEnumerable <object>)x.Value));

        return(new ValueSetValidationResult(
                   isFiltered ? ValueSetValidationStatus.Filtered : ValueSetValidationStatus.Valid, filteredValueSet));
    }
        public virtual string GetResponseGroup()
        {
            var result = ExpProductResponseGroup.None;

            if (IncludeFields.Any(x => x.Contains("price")))
            {
                result |= ExpProductResponseGroup.LoadPrices;
            }
            if (IncludeFields.Any(x => x.Contains("availabilityData")))
            {
                result |= ExpProductResponseGroup.LoadInventories;
            }
            if (IncludeFields.Any(x => x.Contains("_facets")))
            {
                result |= ExpProductResponseGroup.LoadFacets;
            }
            return(result.ToString());
        }
        public virtual string GetItemResponseGroup()
        {
            var result = ItemResponseGroup.None;

            if (IncludeFields.ContainsAny("assets", "images", "imgSrc"))
            {
                result |= ItemResponseGroup.WithImages;
            }

            if (IncludeFields.ContainsAny("properties", "brandName"))
            {
                result |= ItemResponseGroup.WithProperties;
            }

            // "descriptions" could look redundant, but better to check it explicitly - clear approach for possible modification or different "Contains" logic
            if (IncludeFields.ContainsAny("description", "descriptions"))
            {
                result |= ItemResponseGroup.ItemEditorialReviews;
            }

            if (IncludeFields.ContainsAny("seoInfo"))
            {
                result |= ItemResponseGroup.WithSeo;
            }

            if (IncludeFields.ContainsAny("slug"))
            {
                result |= ItemResponseGroup.WithLinks;
                result |= ItemResponseGroup.WithSeo;
            }

            if (IncludeFields.ContainsAny("outline", "outlines", "slug", "level", "breadcrumbs"))
            {
                result |= ItemResponseGroup.WithOutlines;
                result |= ItemResponseGroup.WithSeo;
            }

            if (IncludeFields.ContainsAny("availabilityData"))
            {
                result |= ItemResponseGroup.Inventory;
            }

            return(result.ToString());
        }
Exemplo n.º 8
0
        public virtual ValueSetValidationResult Validate(ValueSet valueSet)
        {
            if (ValidIndexCategories != null && !ValidIndexCategories.InvariantContains(valueSet.Category))
            {
                return(ValueSetValidationResult.Failed);
            }

            //check if this document is of a correct type of node type alias
            if (IncludeItemTypes != null && !IncludeItemTypes.InvariantContains(valueSet.ItemType))
            {
                return(ValueSetValidationResult.Failed);
            }

            //if this node type is part of our exclusion list
            if (ExcludeItemTypes != null && ExcludeItemTypes.InvariantContains(valueSet.ItemType))
            {
                return(ValueSetValidationResult.Failed);
            }

            var isFiltered = false;

            //filter based on the fields provided (if any)
            if (IncludeFields != null || ExcludeFields != null)
            {
                foreach (var key in valueSet.Values.Keys.ToList())
                {
                    if (IncludeFields != null && !IncludeFields.InvariantContains(key))
                    {
                        valueSet.Values.Remove(key); //remove any value with a key that doesn't match the inclusion list
                        isFiltered = true;
                    }

                    if (ExcludeFields != null && ExcludeFields.InvariantContains(key))
                    {
                        valueSet.Values.Remove(key); //remove any value with a key that matches the exclusion list
                        isFiltered = true;
                    }
                }
            }

            return(isFiltered ? ValueSetValidationResult.Filtered : ValueSetValidationResult.Valid);
        }
Exemplo n.º 9
0
        public virtual string GetCategoryResponseGroup()
        {
            var result = CategoryResponseGroup.None;

            if (IncludeFields.ContainsAny("assets", "images", "imgSrc"))
            {
                result |= CategoryResponseGroup.WithImages;
            }

            if (IncludeFields.ContainsAny("properties"))
            {
                result |= CategoryResponseGroup.WithProperties;
            }

            if (IncludeFields.ContainsAny("seoInfo"))
            {
                result |= CategoryResponseGroup.WithSeo;
            }

            if (IncludeFields.ContainsAny("slug"))
            {
                result |= CategoryResponseGroup.WithLinks;
            }

            if (IncludeFields.ContainsAny("outline", "outlines", "slug", "level", "hasParent", "parent"))
            {
                result |= CategoryResponseGroup.WithOutlines;
            }

            if (IncludeFields.ContainsAny("breadcrumbs"))
            {
                result |= CategoryResponseGroup.WithParents | CategoryResponseGroup.WithOutlines;
            }

            if (IncludeFields.ContainsAny("description", "descriptions"))
            {
                result |= CategoryResponseGroup.Full;
            }

            return(result.ToString());
        }
Exemplo n.º 10
0
        public virtual string GetResponseGroup()
        {
            var result = CartAggregateResponseGroup.None;

            if (IncludeFields.Any(x => x.Contains("shipments")))
            {
                result |= CartAggregateResponseGroup.WithShipments;
            }
            if (IncludeFields.Any(x => x.Contains("payments")))
            {
                result |= CartAggregateResponseGroup.WithPayments;
            }
            if (IncludeFields.Any(x => x.Contains("items")))
            {
                result |= CartAggregateResponseGroup.WithLineItems;
            }
            if (IncludeFields.Any(x => x.Contains("validationErrors")))
            {
                //TODO: Need take into account in the repository
                result |= CartAggregateResponseGroup.Validate;
            }

            return(result.ToString());
        }
Exemplo n.º 11
0
 public Select(int?top = null, IncludeFields <TableType> includeFields = null) : base(new SelectManager <TableType>(top, includeFields))
 {
 }
Exemplo n.º 12
0
 /// <summary>
 /// Appends the <paramref name="fields"/> to the <see cref="IncludeFields"/>.
 /// </summary>
 /// <param name="fields">The fields to append.</param>
 /// <returns>The current <see cref="WebApiRequestOptions"/> instance to support fluent-style method-chaining.</returns>
 public WebApiRequestOptions Include(params string[] fields)
 {
     IncludeFields.AddRange(fields);
     return(this);
 }
        public List <string> GetColumnNames(bool excludeIdentityColumns = false, bool excludeComputedFields = false, bool excludeIgnoredFields = false, IncludeFields <TableType> fieldsToInclude = null)
        {
            var columns = GetColumns(excludeIdentityColumns, excludeComputedFields, excludeIgnoredFields);

            var columnNamesToInclude = fieldsToInclude == null
                                ? new HashSet <string>()
                                : fieldsToInclude.GetFieldNames();

            var result = new List <string>();

            foreach (var column in columns)
            {
                if (fieldsToInclude != null && columnNamesToInclude.Contains(column.Name) == false)
                {
                    continue;
                }

                var name = "[" + column.Name + "]";
                result.Add(name);
            }

            return(result);
        }