コード例 #1
0
        private List <Book> GetBooksOfFantasyGenre()
        {
            var filter = _filter.Regex(BooksTableFieldNames.Genre, "fantasy");

            return(_context.Books.Find(filter).ToEnumerable()
                   .Select(doc => BookConverter.ConvertDocumentToBook(doc))
                   .ToList());
        }
コード例 #2
0
        /// <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()));
        }