public async Task <IActionResult> Edit(int id, [Bind("Id")] PrerequisNiveau prerequisNiveau) { if (id != prerequisNiveau.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(prerequisNiveau); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!PrerequisNiveauExists(prerequisNiveau.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(prerequisNiveau)); }
public async Task <IActionResult> Create(PrerequisNiveauxCreateViewModel viewModel) { ViewData["erreur"] = ""; if (AlreadyExists(viewModel.Prerequis, viewModel.Niveau)) { ViewData["erreur"] = "Element déjà existant"; ModelState.AddModelError("Intitule", "element existant"); } if (ModelState.IsValid) { var niveau = await _context.Niveau .FirstOrDefaultAsync(m => m.Intitule == viewModel.Niveau.Intitule); var prerequis = await _context.Prerequis .FirstOrDefaultAsync(m => m.Intitule == viewModel.Prerequis.Intitule); var PrerequisNiveauAjoute = new PrerequisNiveau { Niveau = niveau, Prerequis = prerequis }; _context.Add(PrerequisNiveauAjoute); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } //Permet d'afficher de nouveau les noms des compétences et prérequis dans les SelectList en cas d'erreur else { //récupération des intitulés de tous les prérequis IQueryable <string> PrerequisQuery = from x in _context.Prerequis orderby x.Intitule select x.Intitule; // récupération des intitulés de tous les niveaaux IQueryable <string> NiveauQuery = from x in _context.Niveau orderby x.Intitule select x.Intitule; viewModel.ListePrerequis = new SelectList(await PrerequisQuery.Distinct().ToListAsync()); viewModel.ListeNiveaux = new SelectList(await NiveauQuery.Distinct().ToListAsync()); } return(View(viewModel)); }