public async Task <IActionResult> ConfirmSoleTraderOrPartnership(SoleTraderOrPartnershipViewModel model)
        {
            if (!ModelState.IsValid)
            {
                model.ErrorMessages = new List <ValidationErrorDetail>();
                var modelErrors = ModelState.Values.SelectMany(v => v.Errors);
                foreach (var modelError in modelErrors)
                {
                    model.ErrorMessages.Add(new ValidationErrorDetail
                    {
                        Field        = "OrganisationType",
                        ErrorMessage = modelError.ErrorMessage
                    });
                }
                return(View("~/Views/Roatp/WhosInControl/SoleTraderOrPartnership.cshtml", model));
            }

            var organisationTypeAnswer = new List <Answer>
            {
                new Answer
                {
                    QuestionId = RoatpYourOrganisationQuestionIdConstants.SoleTradeOrPartnership,
                    Value      = model.OrganisationType
                }
            };

            var updateResult = await _qnaApiClient.UpdatePageAnswers(model.ApplicationId, RoatpWorkflowSequenceIds.YourOrganisation, RoatpWorkflowSectionIds.YourOrganisation.WhosInControl, RoatpWorkflowPageIds.WhosInControl.SoleTraderPartnership, organisationTypeAnswer);

            if (!updateResult.ValidationPassed)
            {
                return(RedirectToAction("SoleTraderOrPartnership", new { applicationId = model.ApplicationId }));
            }
            else if (model.OrganisationType == RoatpOrganisationTypes.Partnership)
            {
                var partnersData = await _qnaApiClient.GetAnswerByTag(model.ApplicationId, RoatpWorkflowQuestionTags.AddPartners);

                if (partnersData != null && partnersData.Value != null)
                {
                    return(RedirectToAction("ConfirmPartners", new { applicationId = model.ApplicationId }));
                }

                return(RedirectToAction("PartnershipType", new { applicationId = model.ApplicationId }));
            }
            else
            {
                return(RedirectToAction("AddSoleTradeDob", new { applicationId = model.ApplicationId }));
            }
        }
        public async Task <IActionResult> SoleTraderOrPartnership(Guid applicationId)
        {
            var model = new SoleTraderOrPartnershipViewModel {
                ApplicationId = applicationId
            };
            var soleTraderPartnershipAnswer = await _qnaApiClient.GetAnswerByTag(applicationId, RoatpWorkflowQuestionTags.SoleTraderOrPartnership);

            if (soleTraderPartnershipAnswer != null)
            {
                model.OrganisationType = soleTraderPartnershipAnswer.Value;
            }

            PopulateGetHelpWithQuestion(model);

            return(View("~/Views/Roatp/WhosInControl/SoleTraderOrPartnership.cshtml", model));
        }