public async Task <IActionResult> RemovePscDetails(ConfirmRemovePersonInControlViewModel model) { return(await RemoveItemFromPscsList( model, RoatpWorkflowPageIds.WhosInControl.AddPeopleInControl, RoatpYourOrganisationQuestionIdConstants.AddPeopleInControl, RoatpWorkflowQuestionTags.AddPeopleInControl, "ConfirmPeopleInControl", model.BackAction)); }
private IActionResult ConfirmRemovalOfPersonInControl(Guid applicationId, string name, string actionName, string backActionName) { var model = new ConfirmRemovePersonInControlViewModel { ApplicationId = applicationId, Name = name, ActionName = actionName, BackAction = backActionName, GetHelpAction = actionName }; PopulateGetHelpWithQuestion(model, actionName); return(View("~/Views/Roatp/WhosInControl/ConfirmPscRemoval.cshtml", model)); }
private async Task <IActionResult> RemoveItemFromPscsList(ConfirmRemovePersonInControlViewModel model, string pageId, string questionId, string questionTag, string redirectAction, string backAction) { if (String.IsNullOrEmpty(model.Confirmation)) { model.ErrorMessages = new List <ValidationErrorDetail> { new ValidationErrorDetail { Field = "Confirmation", ErrorMessage = $"Tell us if you want to remove {model.Name}" } }; model.BackAction = backAction; return(View("~/Views/Roatp/WhosInControl/ConfirmPscRemoval.cshtml", model)); } if (model.Confirmation != "Y") { return(RedirectToAction(redirectAction, new { model.ApplicationId })); } var pscData = await _tabularDataRepository.GetTabularDataAnswer(model.ApplicationId, questionTag); if ((pscData == null) || (model.Index < 0 || model.Index + 1 > pscData.DataRows.Count)) { return(RedirectToAction(redirectAction, new { model.ApplicationId })); } pscData.DataRows.RemoveAt(model.Index); var whosInControlSection = await _qnaApiClient.GetSectionBySectionNo(model.ApplicationId, RoatpWorkflowSequenceIds.YourOrganisation, RoatpWorkflowSectionIds.YourOrganisation.WhosInControl); var result = await _tabularDataRepository.SaveTabularDataAnswer( model.ApplicationId, whosInControlSection.Id, pageId, questionId, pscData); return(RedirectToAction(redirectAction, new { model.ApplicationId })); }