コード例 #1
0
ファイル: BookRepository.cs プロジェクト: junindar/ilkom
        public async Task <IEnumerable <Book> > GetAllBooks(BooksParameters booksParameters)
        {
            if (string.IsNullOrEmpty(booksParameters.Penerbit) && string.IsNullOrEmpty(booksParameters.Keyword))
            {
                return(await GetAllBooks());
            }

            var books = _dbContext.Books.AsQueryable();

            if (!string.IsNullOrEmpty(booksParameters.Penerbit))
            {
                books = books.Where(c => c.Penerbit == booksParameters.Penerbit);
            }

            if (!string.IsNullOrEmpty(booksParameters.Keyword))
            {
                books = books.Where(c => c.Judul.Contains(booksParameters.Keyword) ||
                                    c.Penulis.Contains(booksParameters.Keyword) ||
                                    c.Penerbit.Contains(booksParameters.Keyword) ||
                                    c.Deskripsi.Contains(booksParameters.Keyword));
            }

            return(books.ToList());
        }
コード例 #2
0
        public async Task <ActionResult <IEnumerable <BookDto> > > GetBooks([FromQuery] BooksParameters booksParameters)
        {
            var resultRepo = await _bookRepository.GetAllBooks(booksParameters);

            return(Ok(_mapper.Map <IEnumerable <BookDto> >(resultRepo)));
        }