public async Task <IActionResult> Index([Bind] FilterProductTypeViewModel filter) { FilterProductViewModel filterProductViewModel = new FilterProductViewModel { Products = await this._productService.Get(filter), Families = await this._productService.GetAllTypes(ProductService.Type.Family), Subfamilies = await this._productService.GetAllTypes(ProductService.Type.Subfamily) }; Uri defaultImage = this._documentService.LoadDefault(); ViewData["DefaultImage"] = defaultImage.AbsoluteUri; return(View(filterProductViewModel)); }
public async Task <List <ProductViewModel> > Get(FilterProductTypeViewModel filter) { List <Product> products = await this._repository.GetAll(); if (filter.Family != null && filter.Family.Any()) { products = products .Where(p => filter.Family.Contains(p.Family.Type)) .ToList(); } if (filter.SubFamily != null && filter.SubFamily.Any()) { products = products .Where(p => filter.SubFamily.Contains(p.Family.Subtype)) .ToList(); } return(products .Select(product => new ProductViewModel(product)) .ToList()); }