public async Task <IActionResult> RemoveManagementHierarchy(ConfirmRemoveManagementHierarchyViewModel model) { if (!ModelState.IsValid) { return(View("~/Views/Roatp/ManagementHierarchy/ConfirmManagementHierarchyRemoval.cshtml", model)); } if (model.Confirmation == "Yes" && model.Index >= 0) { var managementHierarchyData = await _tabularDataRepository.GetTabularDataAnswer(model.ApplicationId, RoatpWorkflowQuestionTags.AddManagementHierarchy); if (managementHierarchyData is null || model.Index + 1 > managementHierarchyData.DataRows.Count) { return(RedirectToAction("ConfirmManagementHierarchy", new { model.ApplicationId })); } managementHierarchyData.DataRows.RemoveAt(model.Index); var managementHierarchySection = await _qnaApiClient.GetSectionBySectionNo(model.ApplicationId, RoatpWorkflowSequenceIds.DeliveringApprenticeshipTraining, RoatpWorkflowSectionIds.DeliveringApprenticeshipTraining.ManagementHierarchy); var result = await _tabularDataRepository.SaveTabularDataAnswer( model.ApplicationId, managementHierarchySection.Id, RoatpWorkflowPageIds.ManagementHierarchy.AddManagementHierarchy, RoatpDeliveringApprenticeshipTrainingQuestionIdConstants.ManagementHierarchy, managementHierarchyData); } return(RedirectToAction("ConfirmManagementHierarchy", new { model.ApplicationId })); }
public async Task <IActionResult> RemoveManagementHierarchy(ConfirmRemoveManagementHierarchyViewModel model) { return(await RemoveItemFromManagementHierarchy( model, RoatpWorkflowPageIds.ManagementHierarchy.AddManagementHierarchy, RoatpDeliveringApprenticeshipTrainingQuestionIdConstants.ManagementHierarchy, RoatpWorkflowQuestionTags.AddManagementHierarchy, "ConfirmManagementHierarchy", model.BackAction)); }
public async Task RemoveManagementHierarchy_Post_ReturnsConfirmManagementHierarchy() { var model = new ConfirmRemoveManagementHierarchyViewModel { ApplicationId = _applicationId, Confirmation = "No" }; var result = await _controller.RemoveManagementHierarchy(model); var viewResult = result as RedirectToActionResult; viewResult.Should().NotBeNull(); viewResult.ActionName.Should().Be("ConfirmManagementHierarchy"); }
public void Arrange() { _validator = new RemoveManagementHierarchyValidator(); _viewModel = new ConfirmRemoveManagementHierarchyViewModel { ApplicationId = Guid.NewGuid(), Index = 1, Name = "FirstName LastName", ActionName = "RemoveManagementHierarchy", BackAction = "ConfirmManagementHierarchy", Confirmation = "Yes" }; }
private IActionResult ConfirmRemovalOfManagementHierarchy(Guid applicationId, string name, string actionName, string backActionName) { var model = new ConfirmRemoveManagementHierarchyViewModel { ApplicationId = applicationId, Name = name, ActionName = actionName, BackAction = backActionName, GetHelpAction = actionName }; PopulateGetHelpWithQuestion(model, actionName); return(View("~/Views/Roatp/ManagementHierarchy/ConfirmManagementHierarchyRemoval.cshtml", model)); }
public async Task RemoveManagementHierarchy_HasValidationErrors_ReturnsConfirmManagementHierarchyRemoval() { var model = new ConfirmRemoveManagementHierarchyViewModel { ApplicationId = _applicationId }; _controller.ModelState.AddModelError("Testing", "test message"); var result = await _controller.RemoveManagementHierarchy(model); var viewResult = result as ViewResult; viewResult.Should().NotBeNull(); viewResult.ViewName.Should().Contain("ConfirmManagementHierarchyRemoval.cshtml"); viewResult.Model.Should().BeEquivalentTo(model); }
private async Task <IActionResult> RemoveItemFromManagementHierarchy(ConfirmRemoveManagementHierarchyViewModel 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/ManagementHierarchy/ConfirmManagementHierarchyRemoval.cshtml", model)); } if (model.Confirmation != "Y") { return(RedirectToAction(redirectAction, new { model.ApplicationId })); } var managementHierarchyData = await _tabularDataRepository.GetTabularDataAnswer(model.ApplicationId, questionTag); if ((managementHierarchyData == null) || model.Index < 0 || model.Index + 1 > managementHierarchyData.DataRows.Count) { return(RedirectToAction(redirectAction, new { model.ApplicationId })); } managementHierarchyData.DataRows.RemoveAt(model.Index); var managementHierarchySection = await _qnaApiClient.GetSectionBySectionNo(model.ApplicationId, RoatpWorkflowSequenceIds.DeliveringApprenticeshipTraining, RoatpWorkflowSectionIds.DeliveringApprenticeshipTraining.ManagementHierarchy); var result = await _tabularDataRepository.SaveTabularDataAnswer( model.ApplicationId, managementHierarchySection.Id, pageId, questionId, managementHierarchyData); return(RedirectToAction(redirectAction, new { model.ApplicationId })); }
public async Task <IActionResult> RemoveManagementHierarchy(Guid applicationId, int index) { var personTableData = await _tabularDataRepository.GetTabularDataAnswer(applicationId, RoatpWorkflowQuestionTags.AddManagementHierarchy); if (personTableData is null || index >= personTableData.DataRows.Count) { return(RedirectToAction("ConfirmManagementHierarchy", new { applicationId })); } var model = new ConfirmRemoveManagementHierarchyViewModel { ApplicationId = applicationId, Name = $"{personTableData.DataRows[index].Columns[0]} {personTableData.DataRows[index].Columns[1]}", ActionName = "RemoveManagementHierarchy", BackAction = "ConfirmManagementHierarchy" }; PopulateGetHelpWithQuestion(model); return(View("~/Views/Roatp/ManagementHierarchy/ConfirmManagementHierarchyRemoval.cshtml", model)); }