// Configure Ninject properly to get those types public EmployerViewModel(IEventAggregator events, IMyRepository myRepository) { _events = events; Employers = myRepository.GetEmployers().ToList(); EmployerAddressViewModel = new EmployerAddressViewModel(_events, myRepository); EmployerDetailsViewModel = new EmployerDetailsViewModel(_events, myRepository); }
public IActionResult Id(int id, string slug) { EmployerDetailsViewModel viewModel = this.employerService.GetById <EmployerDetailsViewModel>(id); if (viewModel == null) { return(this.NotFound()); } return(this.View(viewModel)); }
public async Task <IActionResult> SaveCheckOpportunityEmployerDetailsAsync(EmployerDetailsViewModel viewModel) { Validate(viewModel); if (!ModelState.IsValid) { return(View("CheckDetails", viewModel)); } var employerDetailDto = _mapper.Map <EmployerDetailDto>(viewModel); await _opportunityService.UpdateOpportunityAsync(employerDetailDto); return(RedirectToRoute("GetEmployerConsent", new { viewModel.OpportunityId, viewModel.OpportunityItemId })); }
private void Validate(EmployerDetailsViewModel viewModel) { if (string.IsNullOrEmpty(viewModel.Phone)) { return; } if (!viewModel.Phone.Any(char.IsDigit)) { ModelState.AddModelError(nameof(viewModel.Phone), "You must enter a number"); } else if (!Regex.IsMatch(viewModel.Phone, @"^(?:.*\d.*){7,}$")) { ModelState.AddModelError(nameof(viewModel.Phone), "You must enter a telephone number that has 7 or more numbers"); } }
public When_Employer_Details_Submitted_Invalid_Phone_Min_Digits() { var employerService = Substitute.For <IEmployerService>(); var opportunityService = Substitute.For <IOpportunityService>(); var referralService = Substitute.For <IReferralService>(); var viewModel = new EmployerDetailsViewModel { Phone = "1" }; var config = new MapperConfiguration(c => c.AddMaps(typeof(EmployerMapper).Assembly)); var mapper = new Mapper(config); _employerController = new EmployerController(employerService, opportunityService, referralService, mapper); _result = _employerController.SaveOpportunityEmployerDetailsAsync(viewModel).GetAwaiter().GetResult(); }
public async Task <IActionResult> SaveOpportunityEmployerDetailsAsync(EmployerDetailsViewModel viewModel) { Validate(viewModel); if (!ModelState.IsValid) { return(View("Details", viewModel)); } var employerDetailDto = _mapper.Map <EmployerDetailDto>(viewModel); await _opportunityService.UpdateOpportunityAsync(employerDetailDto); var isReferralOpportunityItem = await _opportunityService.IsReferralOpportunityItemAsync(viewModel.OpportunityItemId); if (isReferralOpportunityItem) { return(RedirectToRoute("GetCheckAnswers", new { viewModel.OpportunityItemId })); } return(RedirectToAction("SaveCheckAnswers", "Opportunity", new { viewModel.OpportunityId, viewModel.OpportunityItemId })); }