public ActionResult DeleteEleve(Guid id)
        {
            EleveModels model;

            using (EleveRepository repository = new EleveRepository())
            {
                Pupils x = repository.GetPupilById(id);
                if (x == null)
                {
                    return(HttpNotFound());
                }
                model = new EleveModels
                {
                    id           = x.Id,
                    firstName    = x.FirstName,
                    lastName     = x.LastName,
                    sexe         = x.Sex,
                    birthdayDate = x.BirthdayDate,
                    tuteurId     = x.Tutor_Id,
                    classroomId  = x.Classroom_Id,
                    levelId      = x.Level_Id
                                   // tuteurs =
                                   // classroom =
                                   // level =
                                   // result =
                };
            }


            return(View("DeleteEleve", model));
        }
        public ActionResult EditEleve(Guid id)
        {
            EleveModels model;

            using (EleveRepository repository = new EleveRepository())
            {
                IQueryable <Tutors>     tuteurs = repository.GetTutors();
                IQueryable <Classrooms> classes = repository.GetClasses();
                IQueryable <Levels>     niveaux = repository.GetNiveaux();
                Pupils x = repository.GetPupilById(id);
                model = new EleveModels
                {
                    mode         = 0,
                    state        = short.MaxValue,
                    firstName    = x.FirstName,
                    lastName     = x.LastName,
                    sexe         = x.Sex,
                    birthdayDate = x.BirthdayDate,
                    tuteurId     = x.Tutor_Id,
                    classroomId  = x.Classroom_Id,
                    levelId      = x.Level_Id,
                    tuteurs      = getListTuteurs(tuteurs),
                    classes      = getListClasses(classes),
                    niveaux      = getListNiveaux(niveaux)
                };
            }
            return(View("CreateEleve", model));
        }
        public ActionResult CreateEleve(EleveModels model)
        {
            if (ModelState.IsValid)
            {
                using (EleveRepository repository = new EleveRepository())
                {
                    Pupils a = new Pupils
                    {
                        Id           = Guid.NewGuid(),
                        State        = short.MaxValue,
                        FirstName    = model.firstName,
                        LastName     = model.lastName,
                        Sex          = model.sexe,
                        BirthdayDate = model.birthdayDate,
                        Tutor_Id     = model.tuteurId,
                        Classroom_Id = model.classroomId,
                        Level_Id     = model.levelId
                                       // tuteurs =
                                       // classroom =
                                       // level =
                                       // result =
                    };

                    repository.Add(a);
                    repository.Save();
                }
                return(RedirectToAction("ReadEleves"));
            }
            return(View(model));
        }
        // GET: /Eleves/CreateEleve
        public ActionResult CreateEleve(Guid?classe, Guid?level, Guid?tuteur)
        {
            EleveModels model;

            using (EleveRepository repository = new EleveRepository())
            {
                IQueryable <Tutors>     tuteurs = repository.GetTutors();
                IQueryable <Classrooms> classes = repository.GetClasses();
                IQueryable <Levels>     niveaux = repository.GetNiveaux();
                model = new EleveModels
                {
                    mode    = -1,
                    tuteurs = getListTuteurs(tuteurs),
                    classes = getListClasses(classes),
                    niveaux = getListNiveaux(niveaux),
                };
                if (classe != null)
                {
                    model.classroomId = (Guid)classe;
                }
                if (level != null)
                {
                    model.levelId = (Guid)level;
                }
                if (tuteur != null)
                {
                    model.tuteurId = (Guid)tuteur;
                }
            }
            return(View(model));
        }
        public ActionResult ReadEleve(Guid id)
        {
            EleveModels model;

            using (EleveRepository repository = new EleveRepository())
            {
                Pupils x = repository.GetPupilById(id);
                IQueryable <Tutors>      t = repository.GetTutors();
                IQueryable <Results>     r = repository.GetResultatsByPupilId(id);
                IQueryable <Evaluations> e = repository.GetEvaluations();
                if (x == null)
                {
                    return(HttpNotFound());
                }
                model = new EleveModels
                {
                    id           = x.Id,
                    firstName    = x.FirstName,
                    lastName     = x.LastName,
                    sexe         = x.Sex,
                    birthdayDate = x.BirthdayDate,
                    tuteurId     = x.Tutor_Id,
                    classroomId  = x.Classroom_Id,
                    levelId      = x.Level_Id,
                    tuteurName   = x.Tutors.LastName,
                    classTitle   = x.Classrooms.Title,
                    niveauName   = x.Levels.Title,
                    resultats    = getListResultats(r),
                    evaluations  = getListEvaluations(e)
                };
            }
            return(View(model));
        }
 public ActionResult DeleteEleve(EleveModels model)
 {
     using (EleveRepository repository = new EleveRepository())
     {
         repository.DeleteById(model.id);
         repository.Save();
     }
     return(View("Index"));
 }
        private List <EleveModels> getListEleves(IQueryable <Pupils> pupils)
        {
            List <EleveModels> eleves = new List <EleveModels>();

            foreach (var e in pupils)
            {
                EleveModels eval = new EleveModels
                {
                    id        = e.Id,
                    firstName = e.FirstName,
                    lastName  = e.LastName
                };
                eleves.Add(eval);
            }
            return(eleves);
        }
        private List <EleveModels> getListEleves(IQueryable <Pupils> pupils)
        {
            List <EleveModels> list = new List <EleveModels>();

            foreach (var u in pupils)
            {
                EleveModels a = new EleveModels
                {
                    id           = u.Id,
                    birthdayDate = u.BirthdayDate,
                    classroomId  = u.Classroom_Id,
                    firstName    = u.FirstName,
                    lastName     = u.LastName,
                    levelId      = u.Level_Id,
                    sexe         = u.Sex,
                    tuteurId     = u.Tutor_Id
                };
                list.Add(a);
            }
            return(list);
        }
        private List <EleveModels> getListPupils(IQueryable <Pupils> pupils)
        {
            List <EleveModels> ac = new List <EleveModels>();

            foreach (var aca in pupils)
            {
                EleveModels c = new EleveModels
                {
                    id           = aca.Id,
                    birthdayDate = aca.BirthdayDate,
                    classroomId  = aca.Classroom_Id,
                    firstName    = aca.FirstName,
                    lastName     = aca.LastName,
                    levelId      = aca.Level_Id,
                    sexe         = aca.Sex,
                    tuteurId     = aca.Tutor_Id
                };
                ac.Add(c);
            }
            return(ac);
        }
        private List <EleveModels> getListEleves(IQueryable <Pupils> pupils)
        {
            List <EleveModels> l = new List <EleveModels>();

            foreach (var p in pupils)
            {
                EleveModels c = new EleveModels
                {
                    id           = p.Id,
                    firstName    = p.FirstName,
                    lastName     = p.LastName,
                    birthdayDate = p.BirthdayDate,
                    classroomId  = p.Classroom_Id,
                    levelId      = p.Level_Id,
                    sexe         = p.Sex,
                    tuteurId     = p.Tutor_Id
                };
                l.Add(c);
            }
            return(l);
        }
        public ActionResult EditEleve(EleveModels model)
        {
            using (EleveRepository repository = new EleveRepository())
            {
                Pupils x = repository.GetPupilById(model.id);
                x.State        = short.MaxValue;
                x.FirstName    = model.firstName;
                x.LastName     = model.lastName;
                x.Sex          = model.sexe;
                x.BirthdayDate = model.birthdayDate;
                x.Tutor_Id     = model.tuteurId;
                x.Classroom_Id = model.classroomId;
                x.Level_Id     = model.levelId;
                // eleves =

                if (ModelState.IsValid)
                {
                    repository.Save();
                }
                return(RedirectToAction("ReadEleves"));
            }
        }