public async Task <ServiceResponse <BorrowBookDTO_ToReturn> > UpdateBorrowBook(BorrowBookDTO_ToUpdate UpdateBorrowBook, int id) { var oldDataBorrowBook = await _dbContext.BorrowBooks.FirstOrDefaultAsync(x => x.Id == id); var book = await _dbContext.Books.FirstOrDefaultAsync(x => x.Id == oldDataBorrowBook.BookId); if (UpdateBorrowBook.ReturnDate > oldDataBorrowBook.DueDate) { int lateDate = UpdateBorrowBook.ReturnDate.Day - oldDataBorrowBook.DueDate.Day; oldDataBorrowBook.TotalLatePrice = lateDate * book.LatePrice; oldDataBorrowBook.ReturnDate = UpdateBorrowBook.ReturnDate; oldDataBorrowBook.AdminId = UpdateBorrowBook.AdminId; oldDataBorrowBook.TotalAmount = oldDataBorrowBook.TotalPrice + oldDataBorrowBook.TotalLatePrice; } else { oldDataBorrowBook.ReturnDate = UpdateBorrowBook.ReturnDate; oldDataBorrowBook.AdminId = UpdateBorrowBook.AdminId; oldDataBorrowBook.TotalAmount = oldDataBorrowBook.TotalPrice + oldDataBorrowBook.TotalLatePrice; } var borrowBook = await _dbContext.BorrowBooks.Include(x => x.Books).ThenInclude(x => x.CategoryBooks).Include(x => x.Customers).Where(x => x.Id == oldDataBorrowBook.Id).FirstOrDefaultAsync(); return(ResponseResult.Success(_mapper.Map <BorrowBookDTO_ToReturn>(borrowBook))); }
public async Task <IActionResult> UpdateBorrowBook(BorrowBookDTO_ToUpdate UpdateBorrowBook, int id) { return(Ok(await _borrowBookService.UpdateBorrowBook(UpdateBorrowBook, id))); }