예제 #1
0
파일: BookService.cs 프로젝트: amocsari/HBR
        public async Task <List <BookDto> > QueryBooks(QueryBooksRequest request, string userIdentifier)
        {
            var bookQuery = _context.Book
                            .Include(b => b.Genre)
                            .AsNoTracking();

            if (!string.IsNullOrEmpty(request.Genre))
            {
                bookQuery = bookQuery.Where(book => book.GenreId == request.Genre);
            }

            if (!string.IsNullOrEmpty(request.Author))
            {
                bookQuery = bookQuery.Where(book => book.Author.Contains(request.Author));
            }

            if (!string.IsNullOrEmpty(request.Title))
            {
                bookQuery = bookQuery.Where(book => book.Title.Contains(request.Title));
            }

            var bookList = await bookQuery.ToListAsync();

            return(_mapper.Map <List <BookDto> >(bookList));
        }
예제 #2
0
        private async Task <List <ClientBookDto> > QueryBooksFromServerAsync()
        {
            using (var client = new HttpClient())
            {
                var dialog  = UserDialogs.Instance.Loading("Loading");
                var request = new QueryBooksRequest
                {
                    Author = AuthorQuery,
                    Title  = TitleQuery,
                    #region tmp ki lesz veve
                    UserIdentifier = HbrApplication.UserIdentifier
                                     #endregion
                };

                var result = await client.PostAsJsonAsync("https://hbr.azurewebsites.net/api/book/querybooks", request);

                if (!result.IsSuccessStatusCode)
                {
                    var config = new AlertConfig
                    {
                        Message = "Nem sikerült kapcsolatot teremteni szerverrel.",
                        Title   = "Sikertelen kapcsolódás!",
                    };
                    await UserDialogs.Instance.AlertAsync(config);

                    Finish();
                    return(new List <ClientBookDto>());
                }

                dialog.Dispose();
                return(await result.Content.ReadAsAsync <List <ClientBookDto> >());
            }
        }
예제 #3
0
        public Task <List <BookDto> > QueryBooks([FromBody] QueryBooksRequest request)
        {
            //return _bookService.QueryBooks(request, UserId);
            #region tmp ki lesz veve
            return(_bookService.QueryBooks(request, request.UserIdentifier));

            #endregion
        }