public ActionResult Register(CPassenger passenger) // Réponse du formulaire de connexion { ViewBag.Message = ""; // On nettoie le message d'erreur if (Session["User"] != null) // Si la session n'est pas vide mais qu'il arrive quand même sur ce controller { ViewBag.Message = "Vous êtes déjà connecté !"; return(Redirect("/Passenger/Index")); } if (ModelState.IsValid) // Les champs sont remplis correctement { if (!passenger.IsRegistered()) // Si il n'a pas trouvé le pseudo dans la BDD, on en crée un { passenger.Register(); // On enregistre le passager Session["User"] = CUser.LoadUser(passenger.Pseudo); // On ajoute l'objet récupérer de la BDD de l'utilisateur dans la session return(Redirect("../Passenger/Connect")); } else { ViewBag.Message = "Ce pseudo existe déjà dans notre base de donnée !"; return(View("Register")); } } else { return(View("Register")); } }
public ActionResult Edit(CPassenger passenger) { if (!(Session["User"] is CPassenger)) { return(Redirect("Index")); } CPassenger user = (CPassenger)Session["User"]; user.Smoker = passenger.Smoker; Session["User"] = user; // sauvegarder return(Redirect("Index")); }
///////////////////////////////////////////////////////////////////////////////// /// List /// ///////////////////////////////////////////////////////////////////////////////// /// Affiche la liste de tous les trajets d'ajd //// public ActionResult List() { if (!(Session["User"] is CPassenger)) { return(Redirect("../Home/Index")); } CPassenger user = new CPassenger(); user = (CPassenger)Session["User"]; Session["smoker"] = user.Smoker; Session["userRideList"] = user.RideList; Session["rideList"] = CRide.GetAllOfDay(); return(View()); }
///////////////////////////////////////////////////////////////////////////////// /// Subscribe /// ///////////////////////////////////////////////////////////////////////////////// /// Inscrit un passager à un trajet //// public ActionResult Subscribe(int idRide) { if (!(Session["User"] is CPassenger)) { return(Redirect("../Home/Index")); } CRide ride = new CRide(); ride = ride.GetRide(idRide); if (ride.Vehicle.Seat > ride.Passengers.Count()) // Si la liste des passager n'est pas complet { if (DateTime.Compare(ride.ArrivalTime.Date, DateTime.Now) < 0) { if (DateTime.Compare(ride.DepartureTime.Date, DateTime.Now.Date.AddHours(1)) < 0) { CPassenger passenger = (CPassenger)Session["User"]; passenger.AddToRide(ride); Session["User"] = passenger; ViewBag.Message = "Vous vous êtes bien inscrit au trajet ! ID: " + idRide + "()" + ride.Id; Session["smoker"] = passenger.Smoker; Session["userRideList"] = passenger.RideList; Session["rideList"] = CRide.GetAll(); return(View("List")); } else { ViewBag.Message = "Trop tard ! Le départ est déjà en cours ou en préparation !"; Session["rideList"] = CRide.GetAll(); return(View("List")); } } else // Trajet est déjà fini { ViewBag.Message = "Trop tard ! Le trajet est déjà fini !"; Session["rideList"] = CRide.GetAll();// TODO: catalogue return(View("List")); } } else // Sinon le nombre de place est atteins ! { ViewBag.Message = "Nombre de place maximum atteinte !"; Session["rideList"] = CRide.GetAll();// TODO: catalogue return(View("List")); } }
///////////////////////////////////////////////////////////////////////////////// /// UnSubscribe /// ///////////////////////////////////////////////////////////////////////////////// /// Retire un passager à un trajet //// public ActionResult UnSubscribe(int idRide) { if (!(Session["User"] is CPassenger)) { return(Redirect("../Home/Index")); } CPassenger passenger = (CPassenger)Session["User"]; CRide ride = new CRide(); ride = ride.GetRide(idRide); passenger.RemoveToRide(ride); Session["User"] = passenger; ViewBag.Message = "Vous vous êtes bien Désinscris du trajet !"; Session["smoker"] = passenger.Smoker; Session["userRideList"] = passenger.RideList; Session["rideList"] = CRide.GetAll(); return(View("List")); }
public void Save(CPassenger user) { bdd.Entry(user).State = EntityState.Modified; bdd.SaveChanges(); }