public virtual ActionResult Delete(
            int resultsMatrixId,
            int impactIndicatorId,
            int intervalId,
            bool accessedByAdmin,
            bool isThirInterval)
        {
            int code          = 0;
            var resultsMatrix = ClientResultsMatrix.FindOneModel(
                new ResultsMatrixSpecification {
                ResultsMatrixId = resultsMatrixId
            });

            try
            {
                ImpactIndicatorModel indicatorModel = ClientResultsMatrix.FindOneImpactIndicatorModel(
                    new ImpactIndicatorSpecification()
                {
                    ImpactIndicatorId = impactIndicatorId
                });

                if (indicatorModel != null)
                {
                    IntervalModel interval = new IntervalModel()
                    {
                        IntervalId = intervalId
                    };
                    ClientResultsMatrix.DeleteImpactIndicator(
                        new ResultsMatrixModel()
                    {
                        ResultsMatrixId         = resultsMatrixId,
                        IsThirdInterval         = isThirInterval,
                        AccessedByAdministrator = accessedByAdmin,
                        Interval = interval
                    },
                        indicatorModel,
                        IDBContext.Current.UserName);

                    code = 502;
                }
            }
            catch (Exception)
            {
                code = 498;
            }

            return(RedirectToAction(
                       "Edit",
                       "Impacts",
                       new
            {
                operationId = resultsMatrix.OperationId,
                resultsMatrixId = resultsMatrixId,
                code = code
            }));
        }