// GET: Return book copy public IActionResult Return(int id) { var date = loanService.ReturnDate(); var loanToReturn = loanService.GetLoanById(id); var vm = new LoanReturnVm(); vm.ID = id; vm.LoanTime = loanToReturn.LoanTime; vm.ReturnTime = loanToReturn.ReturnTime; vm.MemberID = loanToReturn.Member.ID; vm.BookCopyID = loanToReturn.BookCopy.ID; if (vm.ReturnTime.Date < date) { vm.Delayed = true; if (vm.Delayed == true) { vm.Fine = loanService.FineIncrease(vm.ReturnTime); } else { vm.Fine = loanToReturn.Fine; } } else { vm.Delayed = false; } return(View(vm)); }
public async Task <IActionResult> Return(LoanReturnVm vm) { var loan = loanService.GetLoanById(vm.ID); var date = loanService.ReturnDate(); var returnedLoan = new Loan(); // Spara i ny lista av lån returnedLoan.ID = vm.ID; returnedLoan.BookCopy = bookCopyService.GetBookCopyById(vm.BookCopyID); returnedLoan.LoanTime = loan.LoanTime; returnedLoan.ReturnTime = loan.ReturnTime; returnedLoan.MemberID = vm.MemberID; returnedLoan.BookCopyID = returnedLoan.BookCopy.ID; if (returnedLoan.ReturnTime.Date < date) { returnedLoan.Delayed = true; if (returnedLoan.Delayed == true) { returnedLoan.Fine = loanService.FineIncrease(returnedLoan.ReturnTime); } } else if (returnedLoan.ReturnTime.Date > date) { returnedLoan.Delayed = false; returnedLoan.Fine = vm.Fine; } returnedLoan.Returned = true; returnedLoan.BookCopy.OnLoan = false; returnedLoan.BookCopy.Details.CopiesAvailable += bookService.GetNumberOfAvailableCopies(returnedLoan.BookCopy.Details); AddReturnedLoan(returnedLoan); //Skickar informationen till en ny lista bookService.UpdateBookDetails(returnedLoan.BookCopy.Details); loanService.ReturnLoan(returnedLoan); return(RedirectToAction(nameof(Index))); }