public virtual ActionResult UnlinkPredefinedIndicator(int resultsMatrixId, int indicatorId, int module) { // Check if the administrator is accessing var accessedByAdministrator = IDBContext.Current.HasRole(Role.RM_ADMINISTRATOR); // Get results matrix with interval data associated to administrator var resultModel = ClientResultsMatrix.GetLightResultsMatrixModel(new IDB.MW.Domain.Models.Architecture.ResultMatrix.Outcomes.ResultsMatrixModel() { ResultsMatrixId = resultsMatrixId, AccessedByAdministrator = accessedByAdministrator }); // Define model to render in the view UnlinkPredefinedIndicatorModel unLinkPredefinedIndicator = new UnlinkPredefinedIndicatorModel() { ResultsMatrixId = resultsMatrixId, IndicatorId = indicatorId, IndicatorType = module, AccessedByAdministrator = accessedByAdministrator, IntervalId = resultModel.Interval.IntervalId, IsThirdInterval = resultModel.IsThirdInterval }; // Set default unlink message ViewData["defaultUnlinkPredefinedIndicatorMessage"] = Localization.GetText("This action cannot be undone, are you sure you wish to continue?"); // Set warning maessage ViewData["thirdIntervalunLinkPredefinedIndicatorMessage"] = (resultModel.Interval.IntervalId == ResultsMatrixCodes.ThirdInterval || (accessedByAdministrator && resultModel.IsThirdInterval)) ? Localization.GetText("This change will be registered on the “Changes to the Matrix” section and you will be required to explain it. Would you like to proceed?") : string.Empty; return(PartialView("Unlink", unLinkPredefinedIndicator)); }
public virtual ActionResult Unlink(UnlinkPredefinedIndicatorModel unlinkPredefinedIndicator) { bool success = true; try { this.ClientPredefinedIndicator.UnlinkPredefinedIndicator(unlinkPredefinedIndicator); } catch (System.Exception) { success = false; } var updatedUrl = UpdateRequestModule_Url(unlinkPredefinedIndicator.RequesModuleUrl, success, unlinkPredefinedIndicator.IndicatorType, 67, 100); return(Redirect(updatedUrl)); }