Esempio n. 1
0
        // 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));
        }
Esempio n. 2
0
        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));
        }