public ActionResult Index(string Name, List <string> Styles, List <string> Brands) { var filter = new ShoesFilter(); if (Name != null) { filter.Name = Name; } if (Styles != null) { filter.Style_Ids = Styles.Select(x => Guid.Parse(x)).ToList(); } if (Brands != null) { filter.Brand_Ids = Brands.Select(x => Guid.Parse(x)).ToList(); } var result = this._shoesRepository.Get(filter); ViewBag.SelectedName = Name; ViewBag.SelectedStyles = Styles != null ? Styles : new List <string>(); ViewBag.SelectedBrands = Brands != null ? Brands : new List <string>(); ViewBag.Styles = this._shoesStyleRepository.Get(); ViewBag.Brand = this._brandRepository.Get(); return(View(result)); }
public List <Shoes> Get(ShoesFilter filter) { try { using (CodeFirstContext context = new CodeFirstContext()) { var result = context.Shoes.Include(s => s.Styles).Include(s => s.Brand).Where(x => !x.isDeleted); if (filter != null) { if (filter.Id != Guid.Empty) { result = result.Where(x => x.Id == filter.Id); } if (filter.Name != string.Empty) { result = result.Where(x => x.Name.Contains(filter.Name)); } if (filter.Brand_Ids != null) { result = result.Where(x => filter.Brand_Ids.Contains(x.Brand.Id)); } if (filter.Style_Ids != null) { result = result.Where(x => x.Styles.Any(style => filter.Style_Ids.Contains(style.Id))); } } return(result.ToList()); } } catch (Exception ex) { return(null); } }