public ActionResult Create(CRide ride) { if (!(Session["User"] is CDriver)) { return(Redirect("../Home/Index")); } ride.Vehicle = CVehicle.GetVehicle(Int32.Parse(ride.VehicleId)); if (DateTime.Compare(ride.DepartureTime, DateTime.Now) < 0) { ViewBag.Message = "Il est trop tard pour ajouter un trajet !"; return(View("Create")); } if (DateTime.Compare(ride.DepartureTime, ride.ArrivalTime) > 0) { if (ride.Vehicle.Model.ToString() != "Delorean DMC12") { ViewBag.Message = "Tu ne voyages pas dans le temps il me semble !"; return(View("Create")); } } CDriver driver = new CDriver(); driver = (CDriver)Session["User"]; // On charge les variables du conducteur dans user ride.Driver = driver; ride.AddRide(); Session["persoRides"] = CRide.GetAll((CDriver)Session["User"]);; ViewBag.Message = "Vous avez bien enregistré un nouveau trajet"; return(View("Index")); }
///////////////////////////////////////////////////////////////////////////////// /// History /// ///////////////////////////////////////////////////////////////////////////////// /// Affiche la liste des trajets du véhicule //// public ActionResult AllPersonalRide() { if (!(Session["User"] is CDriver)) { return(Redirect("../Home/Index")); } Session["persoRides"] = CRide.GetAll((CDriver)Session["User"]);; return(View("Index")); }
///////////////////////////////////////////////////////////////////////////////// /// History /// ///////////////////////////////////////////////////////////////////////////////// /// Affiche la liste de tous les trajets //// public ActionResult History() { 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.GetAll(); return(View("List")); }
///////////////////////////////////////////////////////////////////////////////// /// 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")); }