public async Task HandleAsync_GivenGetReturnSchemeRequest_OperatorShouldBeRetrieved()
        {
            var returnId = Guid.NewGuid();
            var request  = new GetReturnScheme(returnId);

            await handler.HandleAsync(request);

            A.CallTo(() => returnSchemeDataAccess.GetOrganisationByReturnId(returnId)).MustHaveHappened(Repeated.Exactly.Once);
        }
예제 #2
0
        public virtual async Task <ActionResult> Index(Guid organisationId, Guid returnId, bool reselect = false, bool copyPrevious = false, bool clearSelections = false)
        {
            using (var client = this.apiClient())
            {
                var viewModel = new SelectYourPcsViewModel
                {
                    OrganisationId      = organisationId,
                    ReturnId            = returnId,
                    SchemeList          = await client.SendAsync(this.User.GetAccessToken(), new GetSchemesExternal()),
                    PreviousQuarterData = await client.SendAsync(this.User.GetAccessToken(), new GetPreviousQuarterSchemes(organisationId, returnId))
                };

                if (reselect)
                {
                    var request  = new GetReturnScheme(returnId);
                    var existing = await client.SendAsync(this.User.GetAccessToken(), request);

                    viewModel.SelectedSchemes = existing.SchemeDataItems.Select(p => p.Id).ToList();
                    viewModel.Reselect        = true;
                }

                if (copyPrevious)
                {
                    viewModel.SelectedSchemes = viewModel.PreviousQuarterData.PreviousSchemes;
                    viewModel.CopyPrevious    = true;
                }

                if (clearSelections)
                {
                    viewModel.SelectedSchemes = new List <Guid>();
                }

                var @return = await client.SendAsync(this.User.GetAccessToken(), new GetReturn(returnId, false));

                await this.SetBreadcrumb(organisationId, BreadCrumbConstant.AatfReturn, DisplayHelper.YearQuarterPeriodFormat(@return.Quarter, @return.QuarterWindow));

                this.TempData["currentQuarter"]       = @return.Quarter;
                this.TempData["currentQuarterWindow"] = @return.QuarterWindow;

                return(this.View("Index", viewModel));
            }
        }