// GET: Benevoles/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Benevole benevole = db.Benevoles.Include("Dispoes.CreneauDef.JourEvenement").First(s => s.Id == id); if (benevole == null) { return(HttpNotFound()); } benevole.FillDispoByDayFromDb(); var dico = new Dictionary <int, JourEvenement>(); var coms = new Dictionary <int, string>(); ViewBag.Jours = db.JourEvenements.OrderBy(j => j.Ordre).ToList(); foreach (var j in ViewBag.Jours) { var strDispo = benevole.CommentaireDispoes.FirstOrDefault(s => s.JourId == j.Id); coms.Add(j.Id, strDispo == null ? "" : strDispo.Commentaire); } ViewBag.Coms = coms; var nextBenevole = db.Benevoles.OrderBy(s => s.Id).FirstOrDefault(s => s.Id > benevole.Id); if (nextBenevole == null) { nextBenevole = db.Benevoles.OrderBy(s => s.Id).First(); } ViewBag.NextBenId = nextBenevole.Id; return(View(benevole)); }
public ActionResult Edit(int id, [Bind(Include = "DisposByDays")] Benevole b) { Benevole benevole = db.Benevoles.Include("Dispoes.CreneauDef.JourEvenement").First(s => s.Id == id); if (ModelState.IsValid) { Regex r = new Regex(@"\[([0-9]+)\]"); foreach (var key in Request.Form.AllKeys.Where(k => k.Contains("DisposByDays"))) { var m = r.Match(key); int jourId = int.Parse(m.Groups[0].Captures[0].Value.Trim(new char[] { '[', ']' })); m = m.NextMatch(); int noCreneau = int.Parse(m.Groups[0].Captures[0].Value.Trim(new char[] { '[', ']' })); var val = Request.Form[key].ToString().ToLower(); bool isDispo = val.Contains("true"); Dispo d = benevole.Dispoes.First(s => s.CreneauDef.NoCreneau == noCreneau && s.CreneauDef.JourId == jourId); if (d.EstDispo != isDispo) { d.EstDispo = isDispo; d.ModifManuel = true; } } db.SaveChanges(); return(RedirectToAction("Index")); } benevole.FillDispoByDayFromDb(); var dico = new Dictionary <int, JourEvenement>(); var coms = new Dictionary <int, string>(); foreach (var j in db.JourEvenements) { var strDispo = benevole.CommentaireDispoes.FirstOrDefault(s => s.JourId == j.Id); dico.Add(j.Id, j); coms.Add(j.Id, strDispo == null ? "" : strDispo.Commentaire); } ViewBag.Jours = dico; ViewBag.Coms = coms; var nextBenevole = db.Benevoles.OrderBy(s => s.Id).First(s => s.Id > benevole.Id); if (nextBenevole == null) { nextBenevole = db.Benevoles.OrderBy(s => s.Id).First(); } ViewBag.NextBenId = nextBenevole.Id; return(View(benevole)); }