public async Task <IActionResult> BookPreview(BookPreviewViewModel model) { var user = await _userManager.GetUserAsync(HttpContext.User); if (model.BookId != null) { model.BookRent = false; model.Book = _manage.GetById((int)model.BookId); if (model.Book != default(Book)) { if (User.Identity.IsAuthenticated) { var userCopies = _manage.GetUserLoanCopies(user); if (userCopies != null && userCopies.Any()) { foreach (var userCopy in userCopies) { if (userCopy.BookId.Equals(model.BookId))//tu się jebie { model.BookRent = true; var loan = _manage.GetLoanByCopy(userCopy); if (loan != null) { if (loan.StartDate.AddDays(loan.LoanDurationDays) <= DateTime.Today) { _manage.RemoveUserLoan(user, model.Book); model.BookRent = false; model.BookRented = false; } } //WAŻNE: SPRAWDZIĆ CZY TO DZIAŁA WOGÓLE W SENSIE PRZEDAWNIENIE WYPORZYCZENIA //znormalizować BookRent i BookRented, bo juz mi się to pierdoli a dodałem to 2 tygodnie na zad a co dopiero będzi potem za jakieś kurwa 2 //miesiące jak będę musiał tłumaczyć mechanizm działania wyporzyczeń } } } } return(View(model)); } else { return(new NotFoundResult()); } } else { return(new NotFoundResult()); } }
public async Task <IActionResult> ReturnBook(LoanViewModel model) { var user = await _userManager.GetUserAsync(HttpContext.User); model.BookRented = false; _manage.RemoveUserLoan(user, _manage.GetById((int)model.BookId)); var bookPreviewModel = new BookPreviewViewModel { BookId = model.BookId, BookRented = false, BookRent = false }; return(RedirectToAction("BookPreview", bookPreviewModel)); }