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); }