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));
        }