public async Task <IActionResult> Create(DomaineCompetencesCreateViewModel viewModel) { ViewData["erreur"] = ""; if (AlreadyExists(viewModel.Domaine, viewModel.Competence)) { ViewData["erreur"] = "Element déjà existant"; ModelState.AddModelError("Intitule", "element existant"); } if (ModelState.IsValid) { var domaine = await _context.Domaine .FirstOrDefaultAsync(m => m.Intitule == viewModel.Domaine.Intitule); var competence = await _context.Competence .FirstOrDefaultAsync(m => m.Intitule == viewModel.Competence.Intitule); var domaineCompetenceAjoute = new DomaineCompetence { Domaine = domaine, Competence = competence }; _context.Add(domaineCompetenceAjoute); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } //Permet d'afficher de nouveau les noms des compétences et domaine dans les SelectList en cas d'erreur else { IQueryable <string> DomaineQuery = from x in _context.Domaine orderby x.Intitule select x.Intitule; IQueryable <string> CompetenceQuery = from x in _context.Competence orderby x.Intitule select x.Intitule; viewModel.Domaines = new SelectList(await DomaineQuery.Distinct().ToListAsync()); viewModel.Competences = new SelectList(await CompetenceQuery.Distinct().ToListAsync()); } return(View(viewModel)); }
// GET: DomaineCompetences/Create public async Task <IActionResult> Create() { IQueryable <string> DomaineQuery = from x in _context.Domaine orderby x.Intitule select x.Intitule; IQueryable <string> CompetenceQuery = from x in _context.Competence orderby x.Intitule select x.Intitule; var viewModel = new DomaineCompetencesCreateViewModel { Domaines = new SelectList(await DomaineQuery.Distinct().ToListAsync()), Competences = new SelectList(await CompetenceQuery.Distinct().ToListAsync()) }; ViewData["erreur"] = ""; return(View(viewModel)); }