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