// To protect from overposting attacks, see https://aka.ms/RazorPagesCRUD
        public async Task <IActionResult> OnPostAsync(string[] selectedMatiere)
        {
            var newModule = new Module();

            if (selectedMatiere != null)
            {
                newModule.Module_Matieres = new List <Module_Matiere>();
                foreach (var matiere in selectedMatiere)
                {
                    var matiereToAdd = new Module_Matiere
                    {
                        MatiereID = matiere
                    };
                    newModule.Module_Matieres.Add(matiereToAdd);
                }
            }

            if (await TryUpdateModelAsync <Module>(
                    newModule,
                    "Module",
                    i => i.ModuleID,
                    i => i.TITRE,
                    i => i.ProfesseurID
                    ))
            {
                _context.Modules.Add(newModule);
                await _context.SaveChangesAsync();

                return(RedirectToPage("./Index"));
            }
            PopulateModuleHasMatiers(_context, newModule);
            return(Page());
        }
        // To protect from overposting attacks, see https://aka.ms/RazorPagesCRUD
        public async Task <IActionResult> OnPostAsync(string[] selectedModule)
        {
            var newNiveau = new Niveau();

            if (selectedModule != null)
            {
                newNiveau.Module_Niveaus = new List <Module_Niveau>();
                foreach (var module in selectedModule)
                {
                    var moduleToAdd = new Module_Niveau
                    {
                        ModuleID = module
                    };
                    newNiveau.Module_Niveaus.Add(moduleToAdd);
                }
            }

            if (await TryUpdateModelAsync <Niveau>(
                    newNiveau,
                    "Niveau",
                    i => i.NiveauID,
                    i => i.TITRE,
                    i => i.ProfesseurID,
                    i => i.FILIERE
                    ))
            {
                _context.Niveaux.Add(newNiveau);
                await _context.SaveChangesAsync();

                return(RedirectToPage("./Index"));
            }
            PopulateNiveauHasModules(_context, newNiveau);
            return(Page());
        }
Exemple #3
0
        // To protect from overposting attacks, enable the specific properties you want to bind to.
        // For more details, see https://aka.ms/RazorPagesCRUD.
        public async Task <IActionResult> OnPostAsync(int?id, string[] selectedEtudiants)
        {
            if (id == null)
            {
                return(NotFound());
            }

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

            if (sceanceToUpdate == null)
            {
                return(NotFound());
            }

            if (await TryUpdateModelAsync <Sceance>(
                    sceanceToUpdate,
                    "Sceance",
                    i => i.NiveauID, i => i.MatiereID,
                    i => i.ProfesseurID, i => i.DATE_HEURE))
            {
                //if (
                //    String.IsNullOrWhiteSpace(sceanceToUpdate.Professeur?.ProfesseurID.ToString()) ||
                //    String.IsNullOrWhiteSpace(sceanceToUpdate.Matiere?.MatiereID) ||
                //    String.IsNullOrWhiteSpace(sceanceToUpdate.Niveau?.NiveauID))
                //{
                //    sceanceToUpdate.Absences = null;
                //}
                UpdateAbsencesList(_context, selectedEtudiants, sceanceToUpdate);
                await _context.SaveChangesAsync();

                return(RedirectToPage("./Index"));
            }
            UpdateAbsencesList(_context, selectedEtudiants, sceanceToUpdate);
            PopulateAbsencesList(_context, sceanceToUpdate);
            return(Page());
        }
        // To protect from overposting attacks, enable the specific properties you want to bind to.
        // For more details, see https://aka.ms/RazorPagesCRUD.
        public async Task <IActionResult> OnPostAsync(string id, string[] selectedModule)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var niveauToUpdate = await _context.Niveaux
                                 .Include(i => i.Module_Niveaus)
                                 .ThenInclude(i => i.Module)
                                 .FirstOrDefaultAsync(s => s.NiveauID == id);

            if (niveauToUpdate == null)
            {
                return(NotFound());
            }

            if (await TryUpdateModelAsync <Niveau>(
                    niveauToUpdate,
                    "Niveau",
                    i => i.NiveauID,
                    i => i.ProfesseurID,
                    i => i.TITRE,
                    i => i.FILIERE))
            {
                //if (
                //    String.IsNullOrWhiteSpace(sceanceToUpdate.Professeur?.ProfesseurID.ToString()) ||
                //    String.IsNullOrWhiteSpace(sceanceToUpdate.Matiere?.MatiereID) ||
                //    String.IsNullOrWhiteSpace(sceanceToUpdate.Niveau?.NiveauID))
                //{
                //    sceanceToUpdate.Absences = null;
                //}
                UpdateNiveauHasModules(_context, selectedModule, niveauToUpdate);
                await _context.SaveChangesAsync();

                return(RedirectToPage("./Index"));
            }
            UpdateNiveauHasModules(_context, selectedModule, niveauToUpdate);
            PopulateNiveauHasModules(_context, niveauToUpdate);
            return(Page());
        }