public IActionResult ReservationDetails(int Id) { var model = from res in _context.Reservations.Where(i => i.Id == Id) join ve in _context.Vehicles on res.VehicleId equals ve.Id join us in _context.Users on res.UserId equals us.Id select new ReservationModelView { UserName = us.FirstName + " " + us.LastName, VehicleModel = ve.Model, PickUpDate = res.PickUpDate, // DropOffDate=res.DropOffDate, PickUpTime = res.PickUpTime, DropOffTime = res.DropOffTime, PickUpLocationLongitute = res.PickUpLocationLongitute, PickUpLocationLatitue = res.PickUpLocationLatitue, ReturnLocationLongitute = res.ReturnLocationLongitute, ReturnLocationLatitue = res.ReturnLocationLatitue, Total = res.Amount, Date = res.CreateTime, IsConfirmed = res.IsConfirmed }; ReservationModelView result = model.FirstOrDefault(); return(View(result)); }
public void AddNewReservation(ReservationModelView reservationModelView) { string[] dates = reservationModelView.expiry.Split('/'); int mount = int.Parse(dates[0]); int year = int.Parse(dates[1]) + 2000; CreditCard creditCard = new CreditCard() { NameSurname = reservationModelView.name, CardNumber = reservationModelView.number, ExpDate = new DateTime(year, mount, 1), CVV = reservationModelView.cvc }; creditCardRepository.Add(creditCard); creditCardRepository.Complete(); TicketReservation ticketReservation = new TicketReservation() { IdCreditCard = creditCard.Id, IdTicket = reservationModelView.IdTicket, Created = DateTime.Now, Email = reservationModelView.Email, FullName = reservationModelView.FullName, Quantity = reservationModelView.Quantity }; ticketReservationRepository.Add(ticketReservation); ticketReservationRepository.Complete(); }
public ActionResult Reservation(int?IdEvent) { if (IdEvent.HasValue == false) { return(HttpNotFound()); } ViewBag.IdTicket = new SelectList(eventFactory.getTicketsForEvent(IdEvent.Value).ToList(), "Id", "Name"); ReservationModelView reservationModelView = new ReservationModelView(); reservationModelView.IdEvent = IdEvent.Value; return(View(reservationModelView)); }
/** * Redirige vers la page de Détail de logement * où on peut créer une réservation */ // GET: ReservationsController/Create public ActionResult Create(int id) { Logement logement = getLogement(id); var reservationVM = new ReservationModelView { IdLogement = logement.Id, DateDebut = DateTime.Now, DateFin = DateTime.Now.AddDays(7) }; List <Reservation> reservations = getAllReservationsByLogement(logement.Id); ViewData["reservations"] = Newtonsoft.Json.JsonConvert.SerializeObject(reservations); ViewData["logement"] = logement; return(View(reservationVM)); }
public ActionResult Reservation(ReservationModelView rmv) { ViewBag.IdTicket = new SelectList(eventFactory.getTicketsForEvent(rmv.IdEvent).ToList(), "Id", "Name"); if (String.IsNullOrEmpty(rmv.FullName) || String.IsNullOrEmpty(rmv.Email) || String.IsNullOrEmpty(rmv.number) || String.IsNullOrEmpty(rmv.FullName) || String.IsNullOrEmpty(rmv.expiry) || String.IsNullOrEmpty(rmv.cvc) || String.IsNullOrEmpty(rmv.name) || rmv.Quantity == 0) { rmv.ValidationMessage = "Sva polja moraju biti unesena."; return(View(rmv)); } CreditCardDetector detector = new CreditCardDetector(rmv.number); if (detector.IsValid() == false) { rmv.ValidationMessage = "Kartica nije valjana."; return(View(rmv)); } eventFactory.AddNewReservation(rmv); return(RedirectToAction("Details", "Event", new { IdEvent = rmv.IdEvent })); }
public ActionResult Create(ReservationModelView reservationVM) { // récupère l'utilisateur authentifié Utilisateur utilisateur = null; if (HttpContext.Session.GetInt32("userId") != null && HttpContext.Session.GetInt32("userId") > 0) { int idUtilisateur = (int)HttpContext.Session.GetInt32("userId"); //Convert.ToInt32(HttpContext.Request.Cookies["userId"]); utilisateur = _db.Utilisateurs.Single(utilisateur => utilisateur.Id == idUtilisateur); } if (utilisateur == null) { TempData["messageErreur"] = "Connectez-vous pour effectuer une réservation"; return(RedirectToAction("Index", "Home")); } Logement logement = getLogement(reservationVM.IdLogement); List <Reservation> reservations = getAllReservationsByLogement(logement.Id); ViewData["reservations"] = Newtonsoft.Json.JsonConvert.SerializeObject(reservations); ViewData["logement"] = logement; foreach (Reservation reservation in reservations) { bool overlap = isPeriodeDisponible(reservation.DateDebut, reservation.DateFin, reservationVM.DateDebut, reservationVM.DateFin); if (overlap) { ModelState.AddModelError("", "La réservation n'est pas disponible pour la période choisie!"); return(View(reservationVM)); } } if (!ModelState.IsValid) { return(View(reservationVM)); } if (!reservationVM.Validated) { var validationResults = reservationVM.Validate(new ValidationContext(reservationVM, null, null)); foreach (var error in validationResults) { foreach (var memberName in error.MemberNames) { ModelState.AddModelError(memberName, error.ErrorMessage); } } return(View(reservationVM)); } try { Reservation reservation = new Reservation() { Logement = logement, DateDebut = reservationVM.DateDebut, DateFin = reservationVM.DateFin, Locateur = utilisateur }; _db.Reservations.Add(reservation); _db.SaveChanges(); TempData["messageSucces"] = "Réservation effectuée avec succès !"; return(RedirectToAction("Details", new { id = reservation.Id })); } catch { return(View(reservationVM)); } }
public ActionResult Index() // récupérer toutes les réservations en cours { ReservationModelView modelView = new ReservationModelView((List <BooksBorrowing>)Session["BooksBorrowing"]); return(View(modelView)); }