// GET: DomaineUsers/Create public async Task <IActionResult> Create(string id) { if (id == null) { return(NotFound()); } ApplicationUser user = await _userManager.FindByIdAsync(id); if (user == null) { return(NotFound()); } IQueryable <string> DomaineQuery = from x in _context.Domaine orderby x.Intitule select x.Intitule; var viewModel = new DomaineUserCreateViewModel { Domaines = new SelectList(await DomaineQuery.Distinct().ToListAsync()), }; ViewData["idUser"] = id; return(View(viewModel)); }
public async Task <IActionResult> Create(string id, DomaineUserCreateViewModel viewModel) { ApplicationUser user = await _userManager.FindByIdAsync(id); if (AlreadyExists(viewModel.Domaine.Intitule, user)) { ModelState.AddModelError("Intitule", "Erreur : Existe déjà"); } if (ModelState.IsValid) { var domaine = await _context.Domaine.Where(x => x.Intitule == viewModel.Domaine.Intitule).SingleOrDefaultAsync(); DomaineUser domaineUserAjoute = new DomaineUser { Domaine = domaine, ApplicationUser = user }; _context.Add(domaineUserAjoute); await _context.SaveChangesAsync(); return(RedirectToAction("Index", "ApplicationUsers")); } //Permet d'afficher de nouveau les noms des domaines dans les SelectList en cas d'erreur else { IQueryable <string> DomaineQuery = from x in _context.Domaine orderby x.Intitule select x.Intitule; viewModel.Domaines = new SelectList(await DomaineQuery.Distinct().ToListAsync()); ViewData["idUser"] = id; } return(View(viewModel)); }