private List <Book> GetBooksOfFantasyGenre() { var filter = _filter.Regex(BooksTableFieldNames.Genre, "fantasy"); return(_context.Books.Find(filter).ToEnumerable() .Select(doc => BookConverter.ConvertDocumentToBook(doc)) .ToList()); }
/// <summary> /// Get book with max or min Count value /// </summary> /// <param name="limitValue">BookLimitCountValues enum value: NotDefined, MinCount or MaxCount</param> /// <returns></returns> public Book GetBookWithLimitCount(BookLimitCountValues limitValue) { if (limitValue == BookLimitCountValues.NotDefined) { throw new ArgumentException("Limit value is not defined."); } var filter = _filter.Empty; var filteredResult = limitValue == BookLimitCountValues.MaxCount ? _context.Books.Find(filter).SortByDescending(doc => doc[BooksTableFieldNames.Count]).Limit(1) : _context.Books.Find(filter).SortBy(doc => doc[BooksTableFieldNames.Count]).Limit(1); return(BookConverter.ConvertDocumentToBook(filteredResult.ToEnumerable().First())); }