コード例 #1
0
        public override async Task <CustomerBookDataReponse> GetBookById(CustomerGetOrDeleteBookRequest request, ServerCallContext context)
        {
            logger.LogInformation("Begin grpc call from method {Method} for book id {Id}", context.Method, request.Id);

            //using (var dbcontext = new dbBooksContext(dbContextOptions))
            //{
            var data = await bookContext.Books.FindAsync(request.Id);

            if (data != null)
            {
                context.Status = new Status(StatusCode.OK, $"Book with id {request.Id} do exist");

                return(MapToCustomerBooktResponse(data));
            }
            else
            {
                context.Status = new Status(StatusCode.NotFound, $"Book with id {request.Id} do not exist");
            }

            return(new CustomerBookDataReponse());
            //}
        }
コード例 #2
0
        public override async Task <CustomerBoolBookResponse> DeleteBook(CustomerGetOrDeleteBookRequest request, ServerCallContext context)
        {
            logger.LogInformation("Begin grpc call from method {Method} for book id {Id}", context.Method, request.Id);

            //using (var dbcontext = new dbBooksContext(dbContextOptions))
            //{
            var currentBook = await bookContext.Books.FindAsync(request.Id);

            if (currentBook == null)
            {
                context.Status = new Status(StatusCode.NotFound, $"Book with id {request.Id} do not exist");
                return(new CustomerBoolBookResponse {
                    Error = false
                });
            }

            bookContext.Books.Remove(currentBook);

            try
            {
                await bookContext.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                context.Status = new Status(StatusCode.NotFound, $"Book with id {request.Id} do not deelete");
                return(new CustomerBoolBookResponse {
                    Error = false
                });
            }

            context.Status = new Status(StatusCode.OK, $"Book with id {request.Id} do delete");

            return(new CustomerBoolBookResponse {
                Error = true
            });
            //}
        }