Ejemplo n.º 1
0
        private async Task ChangeProviderRouteResetRouteQuestions(SelectApplicationRouteViewModel model)
        {
            var providerRoutes = await _roatpApiClient.GetApplicationRoutes();

            var selectedProviderRoute = providerRoutes.FirstOrDefault(x => x.Id == model.ApplicationRouteId);

            await _applicationApiClient.ChangeProviderRoute(new ChangeProviderRouteRequest
            {
                ApplicationId     = model.ApplicationId,
                ProviderRoute     = model.ApplicationRouteId,
                ProviderRouteName = selectedProviderRoute?.RouteName
            });

            await _resetRouteQuestionsService.ResetRouteQuestions(model.ApplicationId, model.ApplicationRouteId);
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> UpdateApplicationProviderRoute(SelectApplicationRouteViewModel model)
        {
            if (model.ApplicationRouteId == ApplicationRoute.EmployerProviderApplicationRoute && model.LevyPayingEmployer != "Y")
            {
                var ukprnAnswer = await _qnaApiClient.GetAnswerByTag(model.ApplicationId, RoatpWorkflowQuestionTags.UKPRN);

                return(RedirectToAction("ConfirmLevyStatus", new
                {
                    applicationId = model.ApplicationId,
                    ukprn = ukprnAnswer.Value,
                    applicationRouteId = model.ApplicationRouteId
                }));
            }

            var providerRouteAnswer = new List <Answer>
            {
                new Answer
                {
                    QuestionId = RoatpPreambleQuestionIdConstants.ApplyProviderRoute,
                    Value      = model.ApplicationRouteId.ToString()
                }
            };

            var result = await _qnaApiClient.UpdatePageAnswers(model.ApplicationId, RoatpWorkflowSequenceIds.Preamble, RoatpWorkflowSectionIds.Preamble, RoatpWorkflowPageIds.ProviderRoute, providerRouteAnswer);

            var providerRoutes = await _roatpApiClient.GetApplicationRoutes();

            var selectedProviderRoute = providerRoutes.FirstOrDefault(x => x.Id == model.ApplicationRouteId);

            if (result.ValidationPassed)
            {
                await _applicationApiClient.ChangeProviderRoute(new ChangeProviderRouteRequest
                {
                    ApplicationId     = model.ApplicationId,
                    ProviderRoute     = model.ApplicationRouteId,
                    ProviderRouteName = selectedProviderRoute?.RouteName
                });

                await _resetRouteQuestionsService.ResetRouteQuestions(model.ApplicationId, model.ApplicationRouteId);
            }
            return(RedirectToAction("ConditionsOfAcceptance", new { applicationId = model.ApplicationId, applicationRouteId = model.ApplicationRouteId }));
        }