Example #1
0
        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));
        }
Example #2
0
        // 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));
        }