// GET: Settings/Item public ActionResult Index([Bind(Prefix = "Item2")] DrugsFilter filter) { DrugsFilter = filter; var entity = _drugService.Filter(DrugsFilter); return(View(new Tuple <IPagedList <DrugViewModel>, DrugsFilter>( entity, DrugsFilter))); }
public IPagedList <DrugViewModel> Filter(DrugsFilter filter) { filter = filter ?? _drugAppearanceService.NewFilter(); _drugs = db.Repository <Drug>() .ReadAll().Include(a => a.DrugStock) .Where(a => a.Title.Contains(filter.DrugTitle)); DrugTypeIs(filter.DrugType); if (IsDrugHasAppearance(filter)) { _drugs = _drugs.Where(a => a.DrugAppearance != null); DrugColorContains(filter.DrugColor.Where(a => a.IsSelected).Select(a => a.ID)); DrugMajorTypeContains(filter.DrugMajorType.Where(a => a.IsSelected).Select(a => a.ID)); DrugShapeContains(filter.DrugShape.Where(a => a.IsSelected).Select(a => a.ID)); } return(_drugs.OrderBy(a => a.Title) .ToPagedList(filter.Page, Config.PageSize) .Select(a => new DrugViewModel(a))); }
private bool IsDrugHasAppearance(DrugsFilter filter) { return(filter.DrugShape.Any(a => a.IsSelected) || filter.DrugColor.Any(a => a.IsSelected) || filter.DrugMajorType.Any(a => a.IsSelected)); }