public CatalogOutlines BuildCategoryOutline(string catalogId, string itemId, bool useCache)
        {
            var outlines = new CatalogOutlines();

            var catalog = GetCatalog(catalogId, useCache);

            if (catalog is Catalog)
            {
                var categoryRelations = GetCategoryItemRelations(itemId, catalogId);

                if (categoryRelations.Any())
                {
                    outlines.AddRange(
                        categoryRelations.Select(
                            categoryRelation => BuildCategoryOutline(catalogId, categoryRelation.Category, useCache)));
                }
            }
            else if (catalog is VirtualCatalog)
            {
                var linkedCategories = GetLinkedCategories(itemId, catalogId);

                if (linkedCategories.Any())
                {
                    outlines.AddRange(
                        linkedCategories.Select(cat => BuildCategoryOutline(cat.CatalogId, cat, useCache)));
                }
            }

            return outlines;
        }
Ejemplo n.º 2
0
        public CatalogOutlines BuildCategoryOutline(string catalogId, string itemId, bool useCache)
        {
            var outlines = new CatalogOutlines();

            var catalog = GetCatalog(catalogId, useCache);

            if (catalog is Catalog)
            {
                var categoryRelations = GetCategoryItemRelations(itemId, catalogId);

                if (categoryRelations.Any())
                {
                    outlines.AddRange(
                        categoryRelations.Select(
                            categoryRelation => BuildCategoryOutline(catalogId, categoryRelation.Category, useCache)));
                }
            }
            else if (catalog is VirtualCatalog)
            {
                var linkedCategories = GetLinkedCategories(itemId, catalogId);

                if (linkedCategories.Any())
                {
                    outlines.AddRange(
                        linkedCategories.Select(cat => BuildCategoryOutline(cat.CatalogId, cat, useCache)));
                }
            }

            return(outlines);
        }