public async Task <Book> UpdateBookAsync(long id, UpdateBookRequestModel request) { var categories = await _context.Categories .Where(x => request.CategoryId.Contains(x.CategoryId)).ToListAsync(); var bookCategory = new List <BookCategory>(); foreach (var category in categories) { bookCategory.Add(new BookCategory() { Category = category }); } var book = await FindAsync(id); if (book == null) { return(null); } if (bookCategory != null) { book.BookCategories = bookCategory; } if (request.Title != null) { book.Title = request.Title; } if (request.Description != null) { book.Description = request.Description; } if (request.Price != 0) { book.Price = request.Price; } if (request.AuthorId != 0) { book.AuthorId = request.AuthorId; } _context.Books.Update(book); if (await _context.SaveChangesAsync() > 0) { return(book); } return(null); }
public async Task <IActionResult> UpdateBookDetails(UpdateBookRequestModel requestModel) { _logger.LogInformation("Update book details"); var updatedBook = await _bookService.UpdateBooksAsync(requestModel); var updatedBookResponse = _mapper.Map <BookResponse>(updatedBook); return(Ok(updatedBookResponse)); }
public async Task <IActionResult> UpdateCategory(long id, [FromForm] UpdateBookRequestModel request) { var book = await _bookRepository.UpdateBookAsync(id, request); if (book != null) { return(Ok(book)); } return(BadRequest()); }
public async Task <Book> UpdateBooksAsync(UpdateBookRequestModel requestModel) { var bookItem = await _dataContext.Books.SingleOrDefaultAsync(x => x.BookId == requestModel.BookId); if (bookItem != null) { bookItem.ShortDescr = requestModel.ShortDescription; bookItem.ThumbnailUrl = requestModel.ThumbnailUrl; bookItem.Title = requestModel.Title; await _dataContext.SaveChangesAsync(); } return(bookItem); }
public async Task UpdateBookDetailsTest() { // Arrange _mockBookService.Setup(b => b.UpdateBooksAsync(It.IsAny <UpdateBookRequestModel>())).Returns(Task.FromResult(It.IsAny <Domain.Book>())); var sut = new BooksController(_mockLogger.Object, _mockBookService.Object, _mockMapper.Object); // Act var requestModel = new UpdateBookRequestModel { BookId = 10, ShortDescription = "Test" }; var result = await sut.UpdateBookDetails(requestModel); _mockBookService.Verify(s => s.UpdateBooksAsync(It.IsAny <UpdateBookRequestModel>()), Times.Once, "Expected GetBooksAsync to have been called once"); }
/// <summary> /// 修改图书信息 /// </summary> /// <param name="model">修改图书信息请求模型</param> /// <returns></returns> public Task EditBookInfoAsync(UpdateBookRequestModel model) { throw new NotImplementedException(); }