コード例 #1
0
        public ActionResult Create(CreateCompetenceViewModel newCompetence)
        {
            if (!ModelState.IsValid)
            {
                return(View(newCompetence));
            }

            var user = _context.Users.Include(u => u.Competences).SingleOrDefault(u => u.Id == newCompetence.UserId);

            if (user.Competences.Any(x => x.Expertise == newCompetence.Expertise))
            {
                TempData["Message"] = $"{newCompetence.Expertise} is already defined. You may edit the expertise from the list of competences.";
                TempData["Type"]    = "alert-danger";
                return(View(newCompetence));
            }

            var c = new Competence
            {
                User             = user,
                YearOfExperience = newCompetence.YearOfExperience,
                Expertise        = newCompetence.Expertise
            };

            _context.Competences.Add(c);
            _context.SaveChanges();

            user.Competences.Add(c);
            _context.SaveChanges();

            return(RedirectToAction("Details", "Users", new { id = user.Id }));
        }
コード例 #2
0
        public ActionResult Edit(CreateCompetenceViewModel updateCompetence)
        {
            if (!ModelState.IsValid)
            {
                return(View(updateCompetence));
            }
            var competence = _context.Competences.Include(c => c.User).SingleOrDefault(c => c.Id == updateCompetence.Id);

            competence.YearOfExperience = updateCompetence.YearOfExperience;
            _context.SaveChanges();

            return(RedirectToAction("Details", "Users", new{ id = competence.User.Id }));
        }