// 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()); }
// 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()); }