コード例 #1
0
        public async Task <IActionResult> Create([Bind("Id,Name,Surname,PhoneNumber,Email,VacancyId,StatusId,TestId,RegistrationDate,Skills,TestResult")] CandidateViewModel candidate)
        {
            if (ModelState.IsValid)
            {
                _context.Add(candidate);
                await _context.SaveChangesAsync();

                foreach (var item in candidate.Skills)
                {
                    if (string.IsNullOrEmpty(item.Value))
                    {
                        continue;
                    }

                    Skill skill = new Skill
                    {
                        Value       = item.Value,
                        SkillTypeId = item.SkillTypeId,
                    };
                    _context.Add(skill);

                    await _context.SaveChangesAsync();

                    int candidateId = candidate.Id;
                    int skillId     = skill.Id;

                    ObjectSkill objectSkill = new ObjectSkill
                    {
                        ObjectId     = candidateId,
                        ObjectTypeId = (int)ObjectTypeEnum.Kandidats,
                        SkillId      = skillId,
                    };
                    _context.Add(objectSkill);

                    await _context.SaveChangesAsync();
                }

                if (candidate.TestResult != null && candidate.TestId != null)
                {
                    TestResult testResult = new TestResult
                    {
                        CandidateId      = candidate.Id,
                        TestId           = candidate.TestId.Value,
                        ResultPercentage = candidate.TestResult.Value,
                    };

                    _context.Add(testResult);

                    await _context.SaveChangesAsync();
                }

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["StatusName"]  = new SelectList(_context.Status, "Id", "Name", candidate.StatusId);
            ViewData["TestId"]      = new SelectList(_context.Tests, "Id", "Name", candidate.TestId);
            ViewData["VacancyName"] = new SelectList(_context.Vacancies, "Id", "Name", candidate.VacancyId);
            return(View(candidate));
        }
コード例 #2
0
        public async Task <IActionResult> Create(VacancyViewModel VacancyViewModel)
        {
            if (ModelState.IsValid)
            {
                Vacancy vacancy = new Vacancy
                {
                    Name        = VacancyViewModel.Name,
                    OpeningDate = VacancyViewModel.OpeningDate,
                    ClosingDate = VacancyViewModel.ClosingDate,
                    TestId      = VacancyViewModel.TestId,
                    Test        = VacancyViewModel.Test,
                };
                _context.Add(vacancy);

                await _context.SaveChangesAsync();

                foreach (var item in VacancyViewModel.Skills)
                {
                    if (string.IsNullOrEmpty(item.Value))
                    {
                        continue;
                    }

                    Skill skill = new Skill
                    {
                        Value       = item.Value,
                        SkillTypeId = item.SkillTypeId,
                    };
                    _context.Add(skill);

                    await _context.SaveChangesAsync();

                    int vacancyId = vacancy.Id;
                    int skillId   = skill.Id;

                    ObjectSkill objectSkill = new ObjectSkill
                    {
                        ObjectId     = vacancyId,
                        ObjectTypeId = (int)ObjectTypeEnum.Vakance,
                        SkillId      = skillId,
                    };
                    _context.Add(objectSkill);

                    await _context.SaveChangesAsync();
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["TestId"]        = new SelectList(_context.Tests, "Id", "Name");
            ViewData["SkillTypeName"] = new SelectList(_context.SkillTypes, "Id", "Name");
            return(View(VacancyViewModel));
        }