public async Task<IEnumerable<Book>> FilterAsync(BookFilter cFilter)
        {
            var builder = Builders<Book>.Filter;
            var filters = new List<FilterDefinition<Book>>();
          
            if(!String.IsNullOrWhiteSpace(cFilter.BookName))
            {
                filters.Add(builder.Eq("Name", new BsonRegularExpression(cFilter.BookName)));
            }

            if(cFilter.Year.HasValue)
            {
                filters.Add(builder.Eq("Year", cFilter.Year));
            }

            if(!String.IsNullOrWhiteSpace(cFilter.Author))
            {
                filters.Add(builder.Eq("Author", new BsonRegularExpression(cFilter.Author)));
            }

            /*if (cFilter.Price.)
            {
                filters.Add(builder.Eq("Price", cFilter.Price));
            }*/

            return await db.Books.Find(builder.And(filters)).ToListAsync();
        }
 public async Task<ActionResult>Index(BookFilter cFilter)
 {
     var books = await FilterAsync(cFilter);
     var model = new BookList { Books = books, Filter = cFilter };
     return View(model);
 }