public AddJobPositionViewModel GetViewModelForAddJobPosition(string userId) { _logger.LogInformation($"Executing GetViewModelForAddJobPosition. (UserID: {userId})"); var vm = new AddJobPositionViewModel() { StartDate = new DateTime(DateTime.UtcNow.Year, DateTime.UtcNow.Month, DateTime.UtcNow.Day, DateTime.UtcNow.Hour, DateTime.UtcNow.Minute, 00).ToLocalTime(), ApplicationStagesRequirement = new ApplicationStagesRequirement() { IsApplicationApprovalRequired = true, IsHomeworkRequired = true, IsInterviewRequired = true, IsPhoneCallRequired = true, } }; return(vm); }
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 async Task <JobPosition> AddJobPosition(AddJobPositionViewModel addJobPositionViewModel, string userId) { _logger.LogInformation($"Executing AddJobPosition. (UserID: {userId})"); addJobPositionViewModel.ApplicationStagesRequirement.RemoveDefaultResponsibleIfStageIsDisabled(); var jobPosition = new JobPosition() { Id = Guid.NewGuid().ToString(), Name = addJobPositionViewModel.Name, Description = addJobPositionViewModel.Description, StartDate = addJobPositionViewModel.StartDate.ToUniversalTime(), EndDate = addJobPositionViewModel.EndDate?.ToUniversalTime(), CreatorId = userId, ApplicationStagesRequirement = addJobPositionViewModel.ApplicationStagesRequirement }; await _jobPositionRepository.AddAsync(jobPosition); return(jobPosition); }