public ActionResult DeleteConfirmed(int id)
        {
            ClientsTrajets clientsTrajets = db.ClientTrajets.Find(id);

            db.ClientTrajets.Remove(clientsTrajets);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public ActionResult Payer(int?idClient, int?idTrajet)
        {
            ClientsTrajets changer = db.ClientTrajets.Where(x => x.Client_ClientID == idClient && x.Trajet_Id == idTrajet).FirstOrDefault();

            changer.IsPayed         = true;
            db.Entry(changer).State = EntityState.Modified;
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#3
0
        public ActionResult CancellerReservation(int?trajetID)
        {
            string userId         = User.Identity.GetUserId();
            Trajet trajetCourrent = null;

            //Get le trajet
            foreach (Trajet item in db.Trajets.ToList())
            {
                if (item.Id == trajetID)
                {
                    //check conditions
                    trajetCourrent = item;
                }
            }
            //Check si peut canceller la reservation
            Double hours = (trajetCourrent.HeureDepart - DateTime.Now).TotalHours;

            if (24 < hours)
            {
                TempData["shortMessage"] = "Il est trop tard pour annuler le trajet";
                return(RedirectToAction("VMChauffeurDeTrajet", trajetID));
            }
            //Check si la place est deja reservée
            Client client = db.Clients.Where(sx => sx.UserId == userId).FirstOrDefault();

            if (client != null)
            {
                ClientsTrajets clientTrajet = db.ClientTrajets.Where(xc => xc.client.ClientID == client.ClientID && xc.Trajet_Id == trajetID).FirstOrDefault();
                if (clientTrajet == null)
                {
                    TempData["shortMessage"] = "Vous navez aucune reservation pour ce trajet";
                    //Trajet trajetSend = _st.DetailTraget(trajetID);
                    //return RedirectToAction("VMChauffeurDeTrajet", trajetSend);
                }
                else
                {
                    //ENLEVER UNE PLACE DANS LE TRAJET
                    int nbPlaceRestant = trajetCourrent.PlaceRestante + 1;
                    trajetCourrent.PlaceRestante   = nbPlaceRestant;
                    db.Entry(trajetCourrent).State = EntityState.Modified;
                    db.SaveChanges();
                    //MODIFICATION TABLE ClientsTrajets
                    Client         clientCourrant = db.Clients.Where(s => s.UserId == userId).FirstOrDefault();
                    ClientsTrajets ct             = db.ClientTrajets.Where(s => s.Trajet_Id == trajetCourrent.Id && s.Client_ClientID == clientCourrant.ClientID).FirstOrDefault();
                    db.ClientTrajets.Remove(ct);
                    db.SaveChanges();
                    TempData["shortMessage"] = "La cancellation de votre reservation a fonctionner";
                }
            }
            //Redirect
            Trajet trajet = _st.DetailTraget(trajetID);

            return(RedirectToAction("VMChauffeurDeTrajet", trajet));
        }
 public ActionResult Edit([Bind(Include = "Client_ClientID,Trajet_Id")] ClientsTrajets clientsTrajets)
 {
     if (ModelState.IsValid)
     {
         db.Entry(clientsTrajets).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.Client_ClientID = new SelectList(db.Clients, "ClientID", "UserId", clientsTrajets.Client_ClientID);
     ViewBag.Trajet_Id       = new SelectList(db.Trajets, "Id", "VilleDepart", clientsTrajets.Trajet_Id);
     return(View(clientsTrajets));
 }
        // GET: ClientsTrajets/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ClientsTrajets clientsTrajets = db.ClientTrajets.Find(id);

            if (clientsTrajets == null)
            {
                return(HttpNotFound());
            }
            return(View(clientsTrajets));
        }
        // GET: ClientsTrajets/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ClientsTrajets clientsTrajets = db.ClientTrajets.Find(id);

            if (clientsTrajets == null)
            {
                return(HttpNotFound());
            }
            ViewBag.Client_ClientID = new SelectList(db.Clients, "ClientID", "UserId", clientsTrajets.Client_ClientID);
            ViewBag.Trajet_Id       = new SelectList(db.Trajets, "Id", "VilleDepart", clientsTrajets.Trajet_Id);
            return(View(clientsTrajets));
        }
示例#7
0
        public ActionResult ReserverPlace(int?trajetID)
        {
            string userId         = User.Identity.GetUserId();
            Trajet trajetCourrent = null;

            //Get le trajet
            foreach (Trajet item in db.Trajets.ToList())
            {
                if (item.Id == trajetID)
                {
                    //check conditions
                    trajetCourrent = item;
                }
            }

            if (trajetCourrent.PlaceRestante == 0)
            {
                TempData["shortMessage"] = "Aucune place disponible pour le trajet";
            }
            //Creationclient
            Client test = db.Clients.Where(s => s.UserId == userId).FirstOrDefault();

            if (test == null)
            {
                db.Clients.Add(new Client {
                    UserId = User.Identity.GetUserId()
                });
                db.SaveChanges();
            }
            //Check si la place est deja reservée
            Client client = db.Clients.Where(x => x.UserId == userId).FirstOrDefault();

            if (client != null)
            {
                ClientsTrajets ct = db.ClientTrajets.Where(x => x.client.ClientID == client.ClientID && x.Trajet_Id == trajetID).FirstOrDefault();
                if (ct != null)
                {
                    TempData["shortMessage"] = "La reservation a deja ete faite";
                    //Trajet trajetSend = _st.DetailTraget(trajetID);
                    //return RedirectToAction("VMChauffeurDeTrajet", trajetSend);
                }
                else
                {
                    //ENLEVER UNE PLACE DANS LE TRAJET
                    int nbPlaceRestant = trajetCourrent.PlaceRestante - 1;
                    trajetCourrent.PlaceRestante   = nbPlaceRestant;
                    db.Entry(trajetCourrent).State = EntityState.Modified;
                    db.SaveChanges();

                    //MODIFICATION TABLE ClientsTrajets
                    Client clientCourrant = db.Clients.Where(s => s.UserId == userId).FirstOrDefault();
                    db.ClientTrajets.Add(new ClientsTrajets {
                        Client_ClientID = clientCourrant.ClientID, Trajet_Id = trajetCourrent.Id, IsPayed = false
                    });
                    db.SaveChanges();
                    TempData["shortMessage"] = "Reservation faite";
                }
            }
            //Redirection

            Trajet trajet = _st.DetailTraget(trajetID);

            return(RedirectToAction("VMChauffeurDeTrajet", trajet));
        }