public async Task <IActionResult> Create(CompetencePrerequisCreateViewModel viewModel) { ViewData["erreur"] = ""; if (AlreadyExists(viewModel.Competence, viewModel.Prerequis)) { ViewData["erreur"] = "Element déjà existant"; ModelState.AddModelError("Intitule", "element existant"); } if (ModelState.IsValid) { var competence = await _context.Competence .FirstOrDefaultAsync(m => m.Intitule == viewModel.Competence.Intitule); var prerequis = await _context.Prerequis .FirstOrDefaultAsync(m => m.Intitule == viewModel.Prerequis.Intitule); var CompetencePrerequisAjoute = new CompetencePrerequis { Competence = competence, Prerequis = prerequis }; _context.Add(CompetencePrerequisAjoute); 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 { IQueryable <string> CompetenceQuery = from x in _context.Competence orderby x.Intitule select x.Intitule; IQueryable <string> PrerequisQuery = from x in _context.Prerequis orderby x.Intitule select x.Intitule; viewModel.ListeCompetences = new SelectList(await CompetenceQuery.Distinct().ToListAsync()); viewModel.ListePrerequis = new SelectList(await PrerequisQuery.Distinct().ToListAsync()); } return(View(viewModel)); }
/// <summary> /// Création de nouvelles associations compétences -Prérequis /// </summary> /// <returns></returns> public async Task <IActionResult> Create() { IQueryable <string> CompetenceQuery = from x in _context.Competence orderby x.Intitule select x.Intitule; IQueryable <string> PrerequisQuery = from x in _context.Prerequis orderby x.Intitule select x.Intitule; var viewModel = new CompetencePrerequisCreateViewModel { ListeCompetences = new SelectList(await CompetenceQuery.Distinct().ToListAsync()), ListePrerequis = new SelectList(await PrerequisQuery.Distinct().ToListAsync()), }; ViewData["erreur"] = ""; return(View(viewModel)); }