예제 #1
0
        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"));
        }
예제 #2
0
 /////////////////////////////////////////////////////////////////////////////////
 ///                               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"));
 }
예제 #3
0
        /////////////////////////////////////////////////////////////////////////////////
        ///                               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"));
        }
예제 #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"));
        }