public IEnumerable<Category> GetCategories(int parentId, int maxAmountOfProducts)
{
var categories = _categoryRepository.GetAll().Where(c => c.ParentId == parentId);
var trimmedCategories = categories.Select(NewCategory).ToList();
FillProducts(trimmedCategories);
foreach (var trimmedCategory in trimmedCategories)
{
var products = trimmedCategory.Products.ToList();
if (maxAmountOfProducts > 0)
{
products = products.Take(maxAmountOfProducts).ToList();
}
trimmedCategory.Products = products;
}
return trimmedCategories;
}