public async Task <ServiceResponse <BorrowBookDTO_ToReturn> > ReNewBorrowBook(BorrowBookDTO_ToReNew ReNewBorrowBook, int id)
        {
            var oldDataBorrowBook = await _dbContext.BorrowBooks.FirstOrDefaultAsync(x => x.Id == id);

            var book = await _dbContext.Books.FirstOrDefaultAsync(x => x.Id == oldDataBorrowBook.BookId);

            int newDate = ReNewBorrowBook.RecieveDate.Day - oldDataBorrowBook.RecieveDate.Day;


            oldDataBorrowBook.AdminId        = ReNewBorrowBook.AdminId;
            oldDataBorrowBook.RecieveDate    = ReNewBorrowBook.RecieveDate;
            oldDataBorrowBook.DueDate        = ReNewBorrowBook.RecieveDate.AddDays(book.BorrowDay);
            oldDataBorrowBook.TotalLatePrice = 0;
            oldDataBorrowBook.TotalPrice     = (book.BorrowPrice * book.BorrowDay) + (book.BorrowPrice * newDate);


            oldDataBorrowBook.TotalAmount = oldDataBorrowBook.TotalPrice;
            await _dbContext.SaveChangesAsync();

            return(ResponseResult.Success(
                       _mapper.Map <BorrowBookDTO_ToReturn>
                       (
                           _dbContext.BorrowBooks.Include(x => x.Books).ThenInclude(x => x.CategoryBooks)
                           .Include(x => x.Customers)
                           .Where(x => x.Id == oldDataBorrowBook.Id)
                           .FirstOrDefault()
                       )
                       ));
        }
Beispiel #2
0
 public async Task <IActionResult> ReNewBorrowBook(BorrowBookDTO_ToReNew ReNewBorrowBook, int id)
 {
     return(Ok(await _borrowBookService.ReNewBorrowBook(ReNewBorrowBook, id)));
 }