Пример #1
0
 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"));
     }
 }
Пример #2
0
        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"));
        }
Пример #3
0
        /////////////////////////////////////////////////////////////////////////////////
        ///                               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());
        }
Пример #4
0
        /////////////////////////////////////////////////////////////////////////////////
        ///                               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"));
            }
        }
Пример #5
0
        /////////////////////////////////////////////////////////////////////////////////
        ///                               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"));
        }
Пример #6
0
 public void Save(CPassenger user)
 {
     bdd.Entry(user).State = EntityState.Modified;
     bdd.SaveChanges();
 }