public async Task <GetCategoryTreeResponse> GetCategoryTree(GetCategoryTreeRequest request)
        {
            string url = "commerce/taxonomy/v1_beta/category_tree/{0}";

            RestHelper helper   = new RestHelper(string.Format(url, request.category_tree_id));
            var        response = await helper.Get();

            GetCategoryTreeResponse serlializedResponse = JsonConvert.DeserializeObject <GetCategoryTreeResponse>(response);

            return(serlializedResponse);
        }
Exemplo n.º 2
0
        public ActionResult GetCategories(RenderWidgetViewModel model)
        {
            var categories = new List <CategoryItem>();

            using (var api = ApiFactory.Create())
            {
                var useSpecificCategoryTree = model.GetOptionValue <bool>("UseSpecificCategoryTree");
                var categoryTreeName        = model.GetOptionValue <string>("CategoryTreeName");

                var treeRequest = new GetCategoryTreesModel();
                var treePages   = api.Root.Categories.Get(new GetCategoryTreesRequest {
                    Data = treeRequest
                });

                var query = treePages.Data.Items.Where(item => item.AvailableFor.Contains(new Guid("75E6C021-1D1F-459E-A416-D18477BF2020")));

                if (useSpecificCategoryTree)
                {
                    query = query.Where(item => item.Name == categoryTreeName);
                }

                var categoryTreeIds = query
                                      .Select(item => item.Id)
                                      .ToList();

                foreach (var treeId in categoryTreeIds)
                {
                    var request = new GetCategoryTreeRequest {
                        CategoryTreeId = treeId, Data = { IncludeNodes = true }
                    };
                    var pages = api.Root.Category.Get(request);

                    categories.AddRange(pages.Nodes
                                        .Where(node => node.ParentId == null)
                                        .OrderBy(node => node.Name)
                                        .Select(node => new CategoryItem
                    {
                        Name = node.Name,
                        Id   = node.Id
                    }));
                }
            }

            return(View(categories));
        }
Exemplo n.º 3
0
        public virtual ActionResult GetCategories()
        {
            IList<CategoryItem> categories;

            using (var api = ApiFactory.Create())
            {
                var request = new GetCategoryTreeRequest();

                request.CategoryTreeId = new Guid("98FD87B4-A25C-4DDE-933C-83826B6A94D7");
                request.Data.IncludeNodes = true;

                var pages = api.Root.Category.Get(request);

                categories = pages.Nodes.Where(n => n.ParentId == null && n.Id != new Guid("d837bebf-67de-4952-bc60-db03043b1524")).OrderBy(n => n.Name).Select(
                        x => new CategoryItem
                        {
                            Id = x.Id,
                            Name = x.Name
                        }).ToList();
            }

            return View(categories);
        }
Exemplo n.º 4
0
        public virtual ActionResult GetCategories()
        {
            IList <CategoryItem> categories;

            using (var api = ApiFactory.Create())
            {
                var request = new GetCategoryTreeRequest();

                request.CategoryTreeId    = new Guid("98FD87B4-A25C-4DDE-933C-83826B6A94D7");
                request.Data.IncludeNodes = true;

                var pages = api.Root.Category.Get(request);

                categories = pages.Nodes.Where(n => n.ParentId == null && n.Id != new Guid("d837bebf-67de-4952-bc60-db03043b1524")).OrderBy(n => n.Name).Select(
                    x => new CategoryItem
                {
                    Id   = x.Id,
                    Name = x.Name
                }).ToList();
            }

            return(View(categories));
        }
Exemplo n.º 5
0
        public ActionResult GetCategories(RenderWidgetViewModel model)
        {
            var categories = new List<CategoryItem>();
            using (var api = ApiFactory.Create())
            {
                var useSpecificCategoryTree = model.GetOptionValue<bool>("UseSpecificCategoryTree");
                var categoryTreeName = model.GetOptionValue<string>("CategoryTreeName");

                var treeRequest = new GetCategoryTreesModel();
                var treePages = api.Root.Categories.Get(new GetCategoryTreesRequest { Data = treeRequest });

                var query = treePages.Data.Items.Where(item => item.AvailableFor.Contains(new Guid("75E6C021-1D1F-459E-A416-D18477BF2020")));

                if (useSpecificCategoryTree)
                {
                    query = query.Where(item => item.Name == categoryTreeName);
                }

                var categoryTreeIds = query
                    .Select(item => item.Id)
                    .ToList();

                foreach (var treeId in categoryTreeIds)
                {
                    var request = new GetCategoryTreeRequest { CategoryTreeId = treeId, Data = { IncludeNodes = true } };
                    var pages = api.Root.Category.Get(request);

                    categories.AddRange(pages.Nodes
                        .Where(node => node.ParentId == null)
                        .OrderBy(node => node.Name)
                        .Select(node => new CategoryItem
                    {
                        Name = node.Name,
                        Id = node.Id
                    }));
                }
            }

            return View(categories);
        }