Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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 })
            });