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()); //} }
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 }); //} }