Exemplo n.º 1
0
        public void HandleGetBookRequest(SendMessage send, GetBookRequest m)
        {
            using (SqlConnection conn = new SqlConnection(_connection))
            {
                conn.Open();
                SqlCommand     comm = conn.CreateCommand();
                SqlTransaction trans;
                trans            = conn.BeginTransaction();
                comm.Connection  = conn;
                comm.Transaction = trans;
                try
                {
                    InitializeGetBookCommand(ref comm, m);

                    BookInfo b;
                    GrabGetBookInfo(comm, out b);

                    _logger("Successfully found book with book id: " + m.Payload);
                    send(new GetBookResponse(b));
                }
                catch (Exception ex)
                {
                    _logger(ex.ToString());
                }
            }
        }
Exemplo n.º 2
0
        public async Task <BookResponse> GetBookAsync(GetBookRequest request)
        {
            if (request?.Id == null)
            {
                throw new ArgumentNullException();
            }
            var entity = await _bookRepository.GetAsync(request.Id);

            return(_bookMapper.Map(entity));
        }
        public override async Task <BookModel> GetBook(GetBookRequest request, ServerCallContext context)
        {
            var book = await _bookContext.Books.FindAsync(request.BookId);

            if (book == null)
            {
                throw new RpcException(new Status(StatusCode.NotFound, $"Book with Id = {request.BookId} is not found."));
            }

            return(_mapper.Map <BookModel>(book));
        }
Exemplo n.º 4
0
        protected override async Task <GetBookResponse> GetBookAsync(GetBookRequest request)
        {
            var d        = new BookDataDetailed();
            var readPage = await GetDoc(new Uri($"/xiaoshuo/{request.BookKey}/", UriKind.Relative));

            parseBookMeta(d, readPage);
            parseReadPage(d, readPage);
            var bookPage = await GetDoc(new Uri($"/{request.BookKey.Split('/')[1]}/", UriKind.Relative));

            parseBookPage(d, bookPage);
            return(new GetBookResponse {
                BookData = d
            });
        }
Exemplo n.º 5
0
        public async Task <ActionResult <GetBookResponse> > GetBook([FromRoute] GetBookRequest request)
        {
            var book = await _bookRepository.GetBook(request.Id.ToString());

            if (book is null)
            {
                return(NotFound(new NotFoundMessage("Book not found")));
            }

            var bookResource = _mapper.Map <Book, BookResource>(book);

            var response = new GetBookResponse(bookResource, StatusCodes.Status200OK);

            return(Ok(response));
        }
Exemplo n.º 6
0
 public IActionResult Get([FromQuery] GetBookRequest command)
 {
     try
     {
         var response = _mediator.Send(command);
         return(new ObjectResult(response)
         {
             StatusCode = StatusCodes.Status200OK
         });
     }
     catch (Exception ex)
     {
         return(BadRequest(ex));
     }
 }
Exemplo n.º 7
0
        protected override async Task <GetBookResponse> GetBookAsync(GetBookRequest request)
        {
            var r = new GetBookResponse
            {
                BookData = request.NeedDetail ? new BookDataDetailed() : new BookDataBrief()
            };
            var bookPage = await GetDoc(new Uri($"/book/{request.BookKey}", UriKind.Relative));

            parseBookMeta(r.BookData, bookPage);
            parseBookPage(r.BookData, bookPage);
            if (r.BookData is BookDataDetailed detailed)
            {
                var chapsPage1 = await GetDoc(new Uri($"/read/{request.BookKey}", UriKind.Relative));

                var pc = parseReadPage(detailed, chapsPage1);
                for (var i = 1; i < pc; i++)
                {
                    var chapsPage = await GetDoc(new Uri($"/read/{request.BookKey}/{i + 1}", UriKind.Relative));

                    parseReadPage(detailed, chapsPage);
                }
            }
            return(r);
        }
Exemplo n.º 8
0
 public async Task <Book> GetById(GetBookRequest bookRequest)
 {
     return(await Task.FromResult(_context.Set <Book>().Find(bookRequest.Id)));
 }
 protected override Task <GetBookResponse> GetBookAsync(GetBookRequest request) => throw new NotImplementedException();
Exemplo n.º 10
0
 private void InitializeGetBookCommand(ref SqlCommand c, GetBookRequest m)
 {
     c.CommandType = System.Data.CommandType.StoredProcedure;
     c.CommandText = "Book.GetAllBookInfoForBook";
     c.Parameters.AddWithValue("@BookID", m.Payload);
 }
Exemplo n.º 11
0
 protected abstract Task <GetBookResponse> GetBookAsync(GetBookRequest request);
Exemplo n.º 12
0
        // get book
        public override Task <Book> GetBook(GetBookRequest request, ServerCallContext context)
        {
            Book book = _shelfBookRepository.GetBook(request.Shelf, request.Book);

            return(Task.FromResult(book));
        }
Exemplo n.º 13
0
        public override async Task <GetBookResponse> GetBook(GetBookRequest request, ServerCallContext context)
        {
            var response = await _bookApplicationService.GetBookAsync(_mapper.Map <GetBookQuery>(request));

            return(_mapper.Map <GetBookResponse>(response));
        }