Beispiel #1
0
        public ActionResult Mes_Disciplines()
        {
            var user = (Enseignant)System.Web.HttpContext.Current.Session["enseignant"];

            var            Disciplines = _dbContext.Enseignants.SingleOrDefault(u => u.Id == user.Id).Disciplines;
            AjoutViewModel ajout       = new AjoutViewModel();

            ajout.Data               = (Dictionary <Niveau, List <Groupe> >)Session["data"];
            ajout.Disciplines        = _dbContext.Disciplines.ToList();
            ajout.CurrentDisciplines = Disciplines.ToList();
            return(View(ajout));
        }
Beispiel #2
0
        public ActionResult Mes_Disciplines(AjoutViewModel ajout)
        {
            //var niveau = _dbContext.Niveaux.SingleOrDefault(n => n.niveau == ajout.Niveau).Disciplines.SingleOrDefault(d=> d.nomDiscipline == ajout.Discipline);
            //var t=niveau;
            //preparing the viewmodel for the view
            var            user        = (Enseignant)System.Web.HttpContext.Current.Session["enseignant"];
            var            Disciplines = _dbContext.Enseignants.SingleOrDefault(u => u.Id == user.Id).Disciplines;
            AjoutViewModel ajouter     = new AjoutViewModel();

            ajouter.Data               = (Dictionary <Niveau, List <Groupe> >)Session["data"];
            ajouter.Disciplines        = _dbContext.Disciplines.ToList();
            ajouter.CurrentDisciplines = Disciplines.ToList();
            //getting the selected "niveau"
            var niveau = _dbContext.Niveaux.SingleOrDefault(n => n.niveau.Equals(ajout.Niveau));
            var d      = new Discipline()
            {
                nomDiscipline = ajout.Discipline
            };

            niveau.Disciplines.Add(d);
            //adding if not exists (groupe/discipline)
            var groupe     = _dbContext.Groupes.SingleOrDefault(g => g.nomGroupe.Equals(ajout.Groupe));
            var discipline = _dbContext.Niveaux.SingleOrDefault(n => n.niveau.Equals(ajout.Niveau)).Disciplines.SingleOrDefault(di => di.nomDiscipline == ajout.Discipline);
            var groupes    = _dbContext.Enseignants.Single(e => e.Id == user.Id).Groupes;
            var test       = groupes.Single(g => g.nomGroupe.Equals(ajout.Groupe)).Disciplines.SingleOrDefault(di => di.Id == discipline.Id);

            if (test == null)
            {
                //adding to the join table (groupe-discipline)
                var disciplines = groupes.Single(di => di.nomGroupe.Equals(ajout.Groupe)).Disciplines;
                disciplines.Add(discipline);
                ModelState.AddModelError("done", "Discipline ajouté au groupe sélectioné !");
                _dbContext.Enseignants.SingleOrDefault(c => c.Id == user.Id).Groupes.Add(groupe);
                //adding to join table (enseignant-discipline)
                _dbContext.Enseignants.SingleOrDefault(e => e.Id == user.Id).Disciplines.Add(discipline);
                _dbContext.SaveChanges();
                return(View(ajouter));
            }
            ModelState.AddModelError("exists", "Discipline existe déja pour le groupe sélectioné !");
            return(View(ajout));
        }