Beispiel #1
0
        private void PopulateAbsencesList(EnsaContext context, Sceance sceance)
        {
            AbsenceEtudiantsPageModel m = new AbsenceEtudiantsPageModel();

            m.PopulateAbsencesList(context, sceance);
            ViewData["Etudiant"] = m.AbsencesList;
        }
Beispiel #2
0
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Sceance = await _context.Sceances
                      .Include(s => s.Matiere)
                      .Include(s => s.Niveau)
                      .Include(s => s.Professeur)
                      .Include(s => s.Absences).ThenInclude(i => i.Etudiant)
                      .FirstOrDefaultAsync(m => m.SceanceID == id);

            if (Sceance == null)
            {
                return(NotFound());
            }
            ViewData["MatiereID"] = new SelectList(_context.Matieres, "MatiereID", "MatiereID");
            ViewData["NiveauID"]  = new SelectList(_context.Niveaux, "NiveauID", "NiveauID");
            //ViewData["ProfesseurID"] = new SelectList(_context.Professeurs, "ProfesseurID", "ProfesseurID");
            ViewData["Prof"] = _context.Professeurs.Select(a =>
                                                           new SelectListItem
            {
                Value = a.ProfesseurID.ToString(),
                Text  = a.NOM
            }).ToList();
            //Sceance.Absences = new List<Absence>();

            // Provides an empty collection for the foreach loop
            // foreach (var course in Model.AssignedCourseDataList)
            // in the Create Razor page.
            PopulateAbsencesList(_context, Sceance);
            return(Page());
        }
Beispiel #3
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Numero,ContratId,CourId,LieuId")] Sceance sceance)
        {
            if (id != sceance.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(sceance);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!SceanceExists(sceance.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["ContratId"] = new SelectList(_context.Contrat, "Id", "Id", sceance.ContratId);
            ViewData["CourId"]    = new SelectList(_context.Cour, "Id", "Id", sceance.CourId);
            ViewData["LieuId"]    = new SelectList(_context.Lieu, "Id", "Id", sceance.LieuId);
            return(View(sceance));
        }
Beispiel #4
0
        public async Task <IActionResult> Create([Bind("Id,Numero,ContratId,CourId,LieuId")] Sceance sceance)
        {
            if (ModelState.IsValid)
            {
                _context.Add(sceance);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["ContratId"] = new SelectList(_context.Contrat, "Id", "Id", sceance.ContratId);
            ViewData["CourId"]    = new SelectList(_context.Cour, "Id", "Id", sceance.CourId);
            ViewData["LieuId"]    = new SelectList(_context.Lieu, "Id", "Id", sceance.LieuId);
            return(View(sceance));
        }
Beispiel #5
0
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Sceance = await _context.Sceances.FindAsync(id);

            if (Sceance != null)
            {
                _context.Sceances.Remove(Sceance);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
Beispiel #6
0
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Sceance = await _context.Sceances
                      .Include(s => s.Matiere)
                      .Include(s => s.Niveau)
                      .Include(s => s.Professeur).FirstOrDefaultAsync(m => m.SceanceID == id);

            if (Sceance == null)
            {
                return(NotFound());
            }
            return(Page());
        }
        /*
         * pere : sceance
         * fils : eleves
         */



        public void PopulateAbsencesList(EnsaContext context, Sceance sceance)
        {
            var Etudiants = from m in context.Etudiants
                            select m;

            var allEtudiants = Etudiants.Where(s => s.NiveauID == sceance.NiveauID);

            var SceanceAbsence = new HashSet <int>(
                sceance.Absences.Select(c => c.EtudiantID));

            AbsencesList = new List <AbsenceEtudiants>();
            foreach (var eleve in allEtudiants)
            {
                AbsencesList.Add(new AbsenceEtudiants
                {
                    EtudiantID = eleve.EtudiantID,
                    NOM        = eleve.NOM,
                    PRENOM     = eleve.PRENOM,
                    Assigned   = SceanceAbsence.Contains(eleve.EtudiantID)
                });
            }
        }
        public void UpdateAbsencesList(EnsaContext context, string[] selectedEtudiant, Sceance sceanceToUpadet)
        {
            if (selectedEtudiant == null)
            {
                sceanceToUpadet.Absences = new List <Absence>();
                return;
            }

            var selectedEtudiantHS = new HashSet <string>(selectedEtudiant);
            var SceanceAbsence     = new HashSet <int>(
                sceanceToUpadet.Absences.Select(c => c.EtudiantID));

            var Etudiants = from m in context.Etudiants
                            select m;
            var allEtudiants = Etudiants.Where(s => s.NiveauID == sceanceToUpadet.NiveauID);

            Console.WriteLine("===================== I was here");

            foreach (var eleve in allEtudiants)
            {
                if (selectedEtudiantHS.Contains(eleve.EtudiantID.ToString()))
                {
                    if (!SceanceAbsence.Contains(eleve.EtudiantID))
                    {
                        sceanceToUpadet.Absences.Add(
                            new Absence
                        {
                            SceanceID  = sceanceToUpadet.SceanceID,
                            EtudiantID = eleve.EtudiantID,
                            Present    = 0
                        });
                    }
                }
                else
                {
                    if (SceanceAbsence.Contains(eleve.EtudiantID))
                    {
                        Absence EtudiantToRemove = sceanceToUpadet
                                                   .Absences
                                                   .SingleOrDefault(i => i.EtudiantID == eleve.EtudiantID);
                        context.Remove(EtudiantToRemove);
                    }
                }
            }
        }
Beispiel #9
0
        private void UpdateAbsencesList(EnsaContext context, string[] selectedEtudiants, Sceance sceanceToUpdate)
        {
            AbsenceEtudiantsPageModel m = new AbsenceEtudiantsPageModel();

            m.UpdateAbsencesList(context, selectedEtudiants, sceanceToUpdate);
        }