예제 #1
0
        /// <summary>
        /// Modifie ou crée une absence
        /// </summary>
        /// <param name="vm">Objet ViewModel <see cref="AbsenceViewModel"/></param>
        /// <returns></returns>
        public ActionResult EditAbsence(AbsenceViewModel vm)
        {
            if (!ModelState.IsValid)
            {
                return(View("EditAbsence", vm));
            }

            AbsenceAdapter absenceAdapter = new AbsenceAdapter();
            EleveAdapter   eleveAdapter   = new EleveAdapter();

            if (vm.AbsenceId == 0) //Création
            {
                Absence absence = new Absence();
                absenceAdapter.ConvertToEntity(absence, vm);
                Manager.Instance.AddAbsence(absence);
            }
            else //Modification
            {
                Absence absence = Manager.Instance.GetAbsenceById(vm.AbsenceId);
                absenceAdapter.ConvertToEntity(absence, vm);
                Manager.Instance.EditAbsence(absence);
            }

            Eleve          eleve   = Manager.Instance.GetEleveById(vm.EleveId);
            EleveViewModel eleveVM = eleveAdapter.ConvertToViewModel(eleve);

            return(RedirectToAction("DetailEleve", "Eleve", new { eleveId = vm.EleveId }));
        }
예제 #2
0
 /// <summary>
 /// Converti un Objet ViewModel <see cref="EleveViewModel"/> en entité <see cref="Eleve"/>
 /// </summary>
 /// <param name="entity">Entité <see cref="Eleve"/></param>
 /// <param name="vm">Objet ViewModel <see cref="EleveViewModel"/></param>
 public void ConvertToEntity(Eleve entity, EleveViewModel vm)
 {
     entity.Nom           = vm.Nom;
     entity.Prenom        = vm.Prenom;
     entity.DateNaissance = vm.DateNaissance;
     entity.ClassId       = vm.ClassId;
 }
예제 #3
0
        public ActionResult Details(int id)
        {
            BusinessManager bm = BusinessManager.GetInstance();

            List <Note>          notes          = bm.GetNotesByEleve(id);
            List <NoteViewModel> notesViewModel = new List <NoteViewModel>();

            foreach (Note note in notes)
            {
                notesViewModel.Add(new NoteViewModel
                {
                    EleveId = note.EleveId
                    ,
                    NoteEleve = note.NoteEleve
                    ,
                    Appreciation = note.Appreciation
                    ,
                    DateNote = note.DateNote
                    ,
                    Matiere = note.Matiere
                    ,
                    NoteId = note.NoteId
                });
            }

            List <Absence>          absences           = bm.GetAbsenceByEleveId(id);
            List <AbsenceViewModel> absencesViewModels = new List <AbsenceViewModel>();

            absences.ForEach(absence =>
            {
                absencesViewModels.Add(new AbsenceViewModel {
                    AbsenceId = absence.AbsenceId, DateAbsence = absence.DateAbsence, EleveId = absence.EleveId, Motif = absence.Motif
                });
            });

            Eleve          eleve = bm.GetEleve(id);
            EleveViewModel eleveViewModel;

            if (notes != null && notes.Count > 0)
            {
                double moyenne = notes.Average(n => n.NoteEleve);
                eleveViewModel = new EleveViewModel {
                    ClassId = eleve.ClassId, DateNaissance = eleve.DateNaissance, EleveId = eleve.EleveId, Nom = eleve.Nom, Prenom = eleve.Prenom, Moyenne = moyenne, Notes = notesViewModel
                };
            }
            else
            {
                eleveViewModel = new EleveViewModel {
                    ClassId = eleve.ClassId, DateNaissance = eleve.DateNaissance, EleveId = eleve.EleveId, Nom = eleve.Nom, Prenom = eleve.Prenom
                };
            }

            if (absences != null && absences.Count > 0)
            {
                eleveViewModel.Absences = absencesViewModels;
            }

            ViewData.Model = eleveViewModel;
            return(View());
        }
예제 #4
0
        /// <summary>
        /// Converti une entité <see cref="Eleve"/> en ViewModel <see cref="EleveViewModel"/>
        /// </summary>
        /// <param name="note">Entité <see cref="Eleve"/></param>
        /// <returns>Objet ViewModel <see cref="EleveViewModel"/></returns>
        public EleveViewModel ConvertToViewModel(Eleve eleve)
        {
            AbsenceAdapter absenceAdapter = new AbsenceAdapter();
            NoteAdapter    noteAdapter    = new NoteAdapter();

            if (eleve == null)
            {
                return(null);
            }

            var vm = new EleveViewModel
            {
                EleveId       = eleve.EleveId,
                Nom           = eleve.Nom,
                Prenom        = eleve.Prenom,
                DateNaissance = eleve.DateNaissance,
                ClassId       = eleve.ClassId,
                Absences      = absenceAdapter.ConvertToViewModels(eleve.Absences.ToList()),
                Notes         = noteAdapter.ConvertToViewModels(eleve.Notes.ToList())
            };

            if (vm.Notes != null)
            {
                vm.Moyenne = vm.Notes.Average(n => n.ValeurNote);
            }

            return(vm);
        }
예제 #5
0
        /// <summary>
        /// Converti une liste d'entités <see cref="Eleve"/> en liste de ViewModel <see cref="EleveViewModel"/>
        /// </summary>
        /// <param name="notes">Liste d'entités <see cref="Eleve"/></param>
        /// <returns>Liste d'objets ViewModel <see cref="EleveViewModel"/></returns>
        public List <EleveViewModel> ConvertToViewModels(List <Eleve> eleves)
        {
            AbsenceAdapter absenceAdapter = new AbsenceAdapter();
            NoteAdapter    noteAdapter    = new NoteAdapter();

            var vms = new List <EleveViewModel>();

            if (eleves == null)
            {
                return(vms);
            }

            foreach (Eleve eleve in eleves)
            {
                var vm = new EleveViewModel
                {
                    EleveId       = eleve.EleveId,
                    Nom           = eleve.Nom,
                    Prenom        = eleve.Prenom,
                    DateNaissance = eleve.DateNaissance,
                    ClassId       = eleve.ClassId,
                    Notes         = noteAdapter.ConvertToViewModels(eleve.Notes.ToList())
                };

                if (vm.Notes != null)
                {
                    vm.Moyenne = vm.Notes.Average(n => n.ValeurNote);
                }

                vms.Add(vm);
            }

            return(vms);
        }
예제 #6
0
        /// <summary>
        /// Modifie ou crée une note
        /// </summary>
        /// <param name="vm">Objet ViewModel <see cref="NoteViewModel"/></param>
        /// <returns></returns>
        public ActionResult EditNote(NoteViewModel vm)
        {
            if (!ModelState.IsValid)
            {
                return(View("EditNote", vm));
            }

            NoteAdapter  noteAdapter  = new NoteAdapter();
            EleveAdapter eleveAdapter = new EleveAdapter();

            if (vm.NoteId == 0) //Création
            {
                Note note = new Note();
                noteAdapter.ConvertToEntity(note, vm);
                Manager.Instance.AddNote(note);
            }
            else //Modification
            {
                Note note = Manager.Instance.GetNoteById(vm.NoteId);
                noteAdapter.ConvertToEntity(note, vm);
                Manager.Instance.EditNote(note);
            }

            Eleve          eleve   = Manager.Instance.GetEleveById(vm.EleveId);
            EleveViewModel eleveVM = eleveAdapter.ConvertToViewModel(eleve);

            return(RedirectToAction("DetailEleve", "Eleve", new { eleveId = vm.EleveId }));
        }
예제 #7
0
        public ActionResult DetailEleve(int idEleve)
        {
            Eleve eleve = manager.GetEleveById(idEleve);

            List <Note> notes = manager.GetNotesByEleve(idEleve);

            if (notes.Any())
            {
                foreach (var note in notes)
                {
                    eleve.Notes.Add(note);
                }
            }

            List <Absence> absences = manager.GetAbsencesByEleve(idEleve);

            if (absences.Any())
            {
                foreach (var absence in absences)
                {
                    eleve.Absences.Add(absence);
                }
            }

            EleveViewModel eleveVM = new EleveViewModel {
                Identite = $"{ eleve.Nom.ToUpper() } {eleve.Prenom }"
            };

            return(View(eleveVM));
        }
예제 #8
0
        /// <summary>
        /// Affiche la vue de détail d'un élève
        /// </summary>
        /// <param name="eleveId"></param>
        /// <returns></returns>
        public ActionResult DetailEleve(int eleveId)
        {
            Eleve          eleve        = Manager.Instance.GetEleveById(eleveId);
            EleveAdapter   eleveAdapter = new EleveAdapter();
            EleveViewModel vm           = eleveAdapter.ConvertToViewModel(eleve);

            return(View("DetailEleve", vm));
        }
예제 #9
0
 public ActionResult Add(EleveViewModel model)
 {
     if (ModelState.IsValid)
     {
         Eleve e = new Eleve()
         {
             Nom = model.Nom, Prenom = model.Prenom, DateDeNaissance = model.DateDeNaissance, ClasseId = model.ClasseId
         };
         BusinessManager.Manager.Instance.AjouterEleve(e);
         return(RedirectToAction("Index", "Eleve"));
     }
     return(View(model));
 }
예제 #10
0
 public async Task <IActionResult> PutEleve(int id, EleveViewModel eleve)
 {
     try
     {
         var p = _mapper.Map <Eleve>(eleve);
         p.Id = id;
         _eleveRepository.Update(p);
         await _eleveRepository.SaveAsync();
     }
     catch (DbUpdateConcurrencyException)
     {
         throw;
     }
     return(NoContent());
 }
예제 #11
0
        public async Task <Eleve> PostEleve(EleveViewModel eleve)
        {
            try
            {
                var p = _mapper.Map <Eleve>(eleve);
                await _eleveRepository.InsertAsync(p);

                await _eleveRepository.SaveAsync();

                return(await _eleveRepository.GetByIdAsync(p.Id));
            }
            catch (Exception e)
            {
                throw e;
            }
        }
예제 #12
0
        public ActionResult ModifierAbsence(AbsenceViewModel absenceVM)
        {
            ViewBag.Message = "Modification d'une absence.";
            if (!ModelState.IsValid)
            {
                return(View("ModifierAbsence", absenceVM));
            }

            Absence absence;

            absence = new Absence {
                Motif = absenceVM.Motif, DateAbsence = absenceVM.DateAbsence, EleveId = absenceVM.EleveId, AbsenceId = absenceVM.AbsenceId
            };
            BusinessManager.Instance.ModifierAbsence(absence);

            Eleve          e = BusinessManager.Instance.GetEleveById(absenceVM.EleveId);
            EleveViewModel eleveViewModel = new EleveViewModel {
                Nom = e.Nom, Prenom = e.Prenom, DateNaissance = e.DateNaissance
            };

            return(RedirectToAction("DetailEleve", "Eleve", new { usePartial = false, eleveID = absenceVM.EleveId }));
        }
예제 #13
0
        public ActionResult ModifierNote(NoteViewModel noteVM)
        {
            ViewBag.Message = "Modification d'une note.";
            if (!ModelState.IsValid)
            {
                return(View("ModifierNote", noteVM));
            }

            Note note;

            note = new Note {
                Valeur = noteVM.Valeur, Matiere = noteVM.Matiere, Appreciation = noteVM.Appreciation, DateNote = noteVM.DateNote, EleveId = noteVM.EleveId, NoteId = noteVM.NoteId
            };
            BusinessManager.Instance.ModifierNote(note);

            Eleve          e = BusinessManager.Instance.GetEleveById(noteVM.EleveId);
            EleveViewModel eleveViewModel = new EleveViewModel {
                Nom = e.Nom, Prenom = e.Prenom, DateNaissance = e.DateNaissance
            };

            return(RedirectToAction("DetailEleve", "Eleve", new { usePartial = false, eleveID = noteVM.EleveId }));
        }
예제 #14
0
        public ActionResult DetailEleve(int eleveID)
        {
            ViewBag.Message = "Détail élève";
            Eleve e = BusinessManager.Instance.GetEleveById(eleveID);

            List <Note>          notes          = BusinessManager.Instance.GetNotesByEleveId(eleveID);
            List <NoteViewModel> noteViewModels = new List <NoteViewModel>();

            foreach (Note n in notes)
            {
                noteViewModels.Add(new NoteViewModel {
                    Valeur = n.Valeur, Appreciation = n.Appreciation, DateNote = n.DateNote, Matiere = n.Matiere, NoteId = n.NoteId
                });
            }

            List <Absence>          absences          = BusinessManager.Instance.GetAbsencesByEleveId(eleveID);
            List <AbsenceViewModel> absenceViewModels = new List <AbsenceViewModel>();

            foreach (Absence a in absences)
            {
                absenceViewModels.Add(new AbsenceViewModel {
                    Motif = a.Motif, DateAbsence = a.DateAbsence, AbsenceId = a.AbsenceId
                });
            }

            Classe          classe          = BusinessManager.Instance.GetClasseById(e.ClasseId);
            ClasseViewModel classeViewModel = new ClasseViewModel {
                NomEtablissement = classe.NomEtablissement, Niveau = classe.Niveau
            };

            EleveViewModel eleveViewModel = new EleveViewModel {
                Nom = e.Nom, Prenom = e.Prenom, DateNaissance = e.DateNaissance, Notes = noteViewModels, Absences = absenceViewModels, Classe = classeViewModel, EleveId = e.EleveId
            };

            return(View(eleveViewModel));
        }