Пример #1
0
        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());
        }