public ActionResult UserRentals() { try { if (!IsLogged()) { return(RedirectToAction("Login", "Account")); } using (ISession session = database.MakeSession()) { ValidateAdminAndEmployeeForbiddenAccess(session); var reader = GetReader(session); var rentals = session.QueryOver <Rental>().Where(x => x.Reader == reader).Where(x => x.Deleted == false).List(); var rentalsData = new List <CopiesStatusesModelView>(); foreach (var ren in rentals) { var rental = new CopiesStatusesModelView() { Id = ren.Id, CopyId = ren.Copy.Id, Reader = ren.Reader.ToString(), Title = ren.Copy.Book.Title, BookId = ren.Copy.Book.Id, DateFrom = ren.DateFrom, DateTo = ren.DateTo }; rentalsData.Add(rental); } return(View(rentalsData)); } } catch (UnauthorizedAccessException) { return(RedirectToAction("Forbidden", "Error")); } catch (Exception) { return(RedirectToAction("Index", "Home")); } }
// GET: Reservation public ActionResult Index() { try { if (!IsLogged()) { return(RedirectToAction("Login", "Account")); } using (ISession session = database.MakeSession()) { ValidateReaderForbiddenAccess(session); var reservations = session.QueryOver <Reservation>().List(); var reservationsData = new List <CopiesStatusesModelView>(); foreach (var res in reservations) { var reservation = new CopiesStatusesModelView() { Id = res.Id, CopyId = res.Copy.Id, Reader = res.Reader.ToString(), DateFrom = res.DateFrom, Title = res.Copy.Book.Title, BookId = res.Copy.Book.Id, DateTo = res.DateTo }; reservationsData.Add(reservation); } return(View(reservationsData)); } } catch (UnauthorizedAccessException) { return(RedirectToAction("Forbidden", "Error")); } catch (Exception) { return(RedirectToAction("Index", "Home")); } }
// GET: Rental public ActionResult Index(bool deleted = false) { try { var smtp = new EASendMail.SmtpClient(); if (!IsLogged()) { return(RedirectToAction("Login", "Account")); } using (ISession session = database.MakeSession()) { ValidateReaderForbiddenAccess(session); IList <Rental> rentals; bool sendLateEmails = false; bool sendCloseToReturnEmails = false; if (deleted) { rentals = session.QueryOver <Rental>().Where(Restrictions.Eq("Deleted", true)) .OrderBy(x => x.DateFrom).Desc().List(); ViewBag.Info = "Past user rentals"; ViewBag.showReturnBtn = false; } else { rentals = session.QueryOver <Rental>().Where(Restrictions.Eq("Deleted", false)). OrderBy(x => x.DateFrom).Desc().List(); ViewBag.Info = "Current user rentals"; ViewBag.showReturnBtn = true; } var rentalsData = new List <CopiesStatusesModelView>(); foreach (var ren in rentals) { var rental = new CopiesStatusesModelView() { Id = ren.Id, CopyId = ren.Copy.Id, Reader = ren.Reader.ToString(), Title = ren.Copy.Book.Title, BookId = ren.Copy.Book.Id, DateFrom = ren.DateFrom, DateTo = ren.DateTo }; //sprawdzenie czy minal termin nieodebranych ksiazek if (!deleted) { if (IsRentalLate(ren)) { sendLateEmails = true; } else if (IsRentalCloseToReturn(ren)) { sendCloseToReturnEmails = true; } } rentalsData.Add(rental); } if (sendLateEmails) { ViewBag.ShowLateRentalButton = true; } if (sendCloseToReturnEmails) { ViewBag.ShowCloseToReturnRentalButton = true; } return(View(rentalsData)); } } catch (UnauthorizedAccessException) { return(RedirectToAction("Forbidden", "Error")); } catch (Exception e) { Debug.Write(e.Message); return(RedirectToAction("Index", "Home")); } }