public async Task <ActionResult> Index(ComputerFilter filter) { var computers = await db.GetComputers(filter.Year, filter.ComputerName); var model = new ComputerList { Computers = computers, Filter = filter }; return(View(model)); }
public async Task <ActionResult> Index(ComputerFilter cFilter) { var computers = await FilterAsync(cFilter); var model = new ComputerList { Computers = computers, Filter = cFilter }; return(View(model)); }
// filter public async Task <IEnumerable <Computer> > FilterAsync(ComputerFilter cFilter) { var builder = Builders <Computer> .Filter; var filters = new List <FilterDefinition <Computer> >(); if (!String.IsNullOrWhiteSpace(cFilter.ComputerName)) { filters.Add(builder.Eq("Name", new BsonRegularExpression(cFilter.ComputerName))); } if (cFilter.Year.HasValue) { filters.Add(builder.Eq("Year", cFilter.Year)); } return(await db.Computers.Find(builder.And(filters)).ToListAsync()); }