public async Task <IActionResult> Add(AddJobPositionViewModel addJobPositionViewModel, string returnUrl = null)
        {
            if (ModelState.IsValid)
            {
                if (addJobPositionViewModel.StartDate.ToUniversalTime() < DateTime.UtcNow)
                {
                    ModelState.AddModelError("StartDate", _stringLocalizer["StartDate must be in the future."]);
                }
                if (addJobPositionViewModel.ApplicationStagesRequirement.IsApplicationApprovalRequired == false &&
                    addJobPositionViewModel.ApplicationStagesRequirement.IsHomeworkRequired == false &&
                    addJobPositionViewModel.ApplicationStagesRequirement.IsInterviewRequired == false &&
                    addJobPositionViewModel.ApplicationStagesRequirement.IsPhoneCallRequired == false)
                {
                    ModelState.AddModelError("", _stringLocalizer["JobPosition must have at least one stage."]);
                }
            }

            if (ModelState.IsValid)
            {
                var userId = _userManager.GetUserId(HttpContext.User);
                try
                {
                    var jobPosition = await _jobPositionService.AddJobPosition(addJobPositionViewModel, userId);

                    TempData["Success"] = _stringLocalizer["Successfully created."].ToString();
                    return(RedirectToAction(nameof(JobPositionController.Details), new { jobPositionId = jobPosition.Id, returnUrl }));
                }
                catch (CustomRecruiterException ex)
                {
                    TempData["Error"] = ex.Message;
                }
            }

            var users = await _userManager.GetUsersInRoleAsync(RoleCollection.Recruiter);

            ViewData["DefaultResponsibleForApplicatioApprovalId"] = new SelectList(users, "Id", "Email", addJobPositionViewModel.ApplicationStagesRequirement.DefaultResponsibleForApplicatioApprovalId);
            ViewData["DefaultResponsibleForPhoneCallId"]          = new SelectList(users, "Id", "Email", addJobPositionViewModel.ApplicationStagesRequirement.DefaultResponsibleForPhoneCallId);
            ViewData["DefaultResponsibleForHomeworkId"]           = new SelectList(users, "Id", "Email", addJobPositionViewModel.ApplicationStagesRequirement.DefaultResponsibleForHomeworkId);
            ViewData["DefaultResponsibleForInterviewId"]          = new SelectList(users, "Id", "Email", addJobPositionViewModel.ApplicationStagesRequirement.DefaultResponsibleForInterviewId);

            return(View(addJobPositionViewModel));
        }
        public JobPositionDTO AddJobPosition(JobPositionDTO dto)
        {
            var res = jobPositionService.AddJobPosition(dto.Name, dto.DictionaryName, dto.TransferId);

            return(jobPositionMapper.MapToModel(res));
        }