示例#1
0
 // 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);
 }
示例#2
0
        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");
            }
        }
示例#5
0
        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 }));
        }