public ActionResult Create(TravEnt travent)
        {
            if (ModelState.IsValid)
            {
                List<TravEnt> listTravEnt = TravEntAlreadyExist(travent);
                if (listTravEnt.Count() > 0)
                {
                    ViewBag.ErrorField = "Lien déjà existant pour cette date.";
                }
                else
                {
                    if (travent.DateSortie != null && (travent.DateEntree.Date > travent.DateSortie.Value.Date))
                    {
                        ViewBag.ErrorField = "La date de sortie doit être plus grande que la date d'entrée.";
                    }
                    else
                    {
                        db.TravEnts.Add(travent);
                        db.SaveChanges();

                        if (travent.isSoumis.CompareTo("Oui") == 0)
                        {
                            Travailleur_Soumis travSoum = new Travailleur_Soumis();
                            travSoum.Id_TravEnt = travent.Id_TravEnt;
                            db.Travailleur_Soumis.Add(travSoum);
                        }
                        else
                        {
                            Travailleur_NonSoumis travNonSoum = new Travailleur_NonSoumis();
                            travNonSoum.Id_TravEnt = travent.Id_TravEnt;
                            db.Travailleur_NonSoumis.Add(travNonSoum);
                        }
                        db.SaveChanges();

                        return RedirectToAction("Index");
                    }
                }
            }

            setLists();
            return View();
        }
 public List<TravEnt> TravEntAlreadyExist(TravEnt travent)
 {
     List<TravEnt> listTravEnt = db.TravEnts.ToArray()
         .Where(te =>
             te.Id_Travailleur == travent.Id_Travailleur &&
             te.DateEntree == travent.DateEntree
         )
         .Select(te => new TravEnt
         {
             Id_TravEnt = te.Id_TravEnt
         })
         .ToList();
     return listTravEnt;
 }
 public string setSoumis(TravEnt travent)
 {
     if (travent.Travailleur_Soumis != null)
         return "Oui";
     else
         return "Non";
 }
        public ActionResult Edit(TravEnt travent)
        {
            if (ModelState.IsValid)
            {
                // Update soumis <-> non-soumis if needed
                Travailleur_NonSoumis travNonSoumis = db.Travailleur_NonSoumis.Find(travent.Id_TravEnt);
                if ((travent.isSoumis.CompareTo("Oui") == 0) && (travNonSoumis != null))
                {
                    db.Travailleur_NonSoumis.Remove(travNonSoumis);

                    Travailleur_Soumis newTravSoumis = new Travailleur_Soumis();
                    newTravSoumis.Id_TravEnt = travent.Id_TravEnt;
                    db.Travailleur_Soumis.Add(newTravSoumis);
                }
                else if ((travent.isSoumis.CompareTo("Non") == 0) && (travNonSoumis == null))
                {
                    Travailleur_Soumis travSoumis = db.Travailleur_Soumis.Find(travent.Id_TravEnt);
                    db.Travailleur_Soumis.Remove(travSoumis);

                    Travailleur_NonSoumis newTravNonSoumis = new Travailleur_NonSoumis();
                    newTravNonSoumis.Id_TravEnt = travent.Id_TravEnt;
                    db.Travailleur_NonSoumis.Add(newTravNonSoumis);
                }

                db.Entry(travent).State = EntityState.Modified;
                db.SaveChanges();
                return RedirectToAction("Index");
            }
            setLists();
            return View(travent);
        }