AdventureWorks.WebServices.Controllers.CategoryController.FillProducts C# (CSharp) Метод

FillProducts() приватный Метод

private FillProducts ( IEnumerable categories ) : void
categories IEnumerable
Результат void
        private void FillProducts(IEnumerable<Category> categories)
        {
            foreach (var category in categories)
            {

                if (category.Id != 0)
                {
                    var subcategories = _categoryRepository.GetAll().Where(c => c.ParentId == category.Id).ToList();
                    var productList = new List<Product>();
                    if (subcategories.Count > 0)
                    {
                        category.HasSubcategories = true;
                        foreach (var subcategory in subcategories)
                        {
                            productList.AddRange(_productRepository.GetProductsForCategory(subcategory.Id));
                        }
                    }
                    else
                    {
                        category.HasSubcategories = false;
                        productList.AddRange(_productRepository.GetProductsForCategory(category.Id));
                    }
                    category.TotalNumberOfItems = productList.Count;
                    category.Products = productList;
                }
                else
                {
                    //Today's Deals Category
                    category.Products = _productRepository.GetTodaysDealsProducts();
                    category.TotalNumberOfItems = _productRepository.GetTodaysDealsProducts().Count();
                }
            }
        }