public async Task <IActionResult> GetOpportunityBasketAsync(int opportunityId, int opportunityItemId) { await _opportunityService.ClearOpportunityItemsSelectedForReferralAsync(opportunityId); var viewModel = await _opportunityService.GetOpportunityBasketAsync(opportunityId); viewModel.OpportunityItemId = opportunityItemId != 0 ? opportunityItemId : viewModel.ReferralItems != null && viewModel.ReferralItems.LastOrDefault()?.OpportunityItemId != 0 ? viewModel.ReferralItems?.LastOrDefault()?.OpportunityItemId ?? 0 : viewModel.ProvisionGapItems?.LastOrDefault()?.OpportunityItemId ?? 0; return(View("OpportunityBasket", viewModel)); }
public When_Opportunity_Controller_SaveSelectedOpportunities_Is_Called_With_No_Selected_Referrals() { _opportunityService = Substitute.For <IOpportunityService>(); _opportunityService.GetOpportunityBasketAsync(1) .Returns(new OpportunityBasketViewModel()); var config = new MapperConfiguration(c => c.AddMaps(typeof(EmployerDtoMapper).Assembly)); var mapper = new Mapper(config); _opportunityController = new OpportunityController(_opportunityService, mapper); var controllerWithClaims = new ClaimsBuilder <OpportunityController>(_opportunityController).Build(); _result = controllerWithClaims.SaveSelectedOpportunitiesAsync(new ContinueOpportunityViewModel { OpportunityId = 1, SubmitAction = "SaveSelectedOpportunities", SelectedOpportunity = new List <SelectedOpportunityItemViewModel> { new SelectedOpportunityItemViewModel { IsSelected = false, OpportunityType = OpportunityType.Referral.ToString() } } }).GetAwaiter().GetResult(); }
public When_Opportunity_Basket_Is_Loaded_With_Referrals() { var config = new MapperConfiguration(c => c.AddMaps(typeof(OpportunityMapper).Assembly)); var mapper = new Mapper(config); _opportunityService = Substitute.For <IOpportunityService>(); _opportunityService.GetOpportunityBasketAsync(1).Returns(new OpportunityBasketViewModel { OpportunityId = 1, CompanyName = "Company Name", CompanyNameAka = "Also Known As", ProvisionGapItems = null, ReferralItems = new List <BasketReferralItemViewModel> { new BasketReferralItemViewModel { OpportunityType = "Referral", OpportunityItemId = 5 } } }); var opportunityController = new OpportunityController(_opportunityService, mapper); var controllerWithClaims = new ClaimsBuilder <OpportunityController>(opportunityController) .AddUserName("CreatedBy") .Build(); _result = controllerWithClaims.GetOpportunityBasketAsync(1, 0).GetAwaiter().GetResult(); }
public async Task <IActionResult> GetPlacementOrEmployerAsync(int opportunityId, int opportunityItemId) { var opportunityItemCount = await _opportunityService.GetSavedOpportunityItemCountAsync(opportunityId); var viewModel = await _opportunityService.GetCheckAnswersAsync(opportunityItemId); var opportunities = await _opportunityService.GetOpportunityBasketAsync(viewModel.OpportunityId); return(opportunities.ReferralCount switch { 0 when opportunityItemCount >= 1 => RedirectToRoute("GetPlacementInformation", new { opportunityItemId }), 0 when opportunities.ProvisionGapCount == 1 => RedirectToRoute("GetEmployerDetails", new { opportunityId = viewModel.OpportunityId, opportunityItemId }), 0 when opportunities.ProvisionGapCount == 0 => RedirectToRoute("GetEmployerDetails", new { opportunityId = viewModel.OpportunityId, opportunityItemId }), _ => RedirectToRoute("GetPlacementInformation", new { opportunityItemId }) });