public virtual ActionResult Index(string operationNumber)
        {
            TimeSpan stop;
            TimeSpan start = new TimeSpan(DateTime.Now.Ticks);

            SetPermissionMatrixChanges();

            var rspnse = _tcmUniverseService.GetParentOperation(operationNumber);

            if (!rspnse.IsValid)
            {
                throw new Exception(rspnse.ErrorMessage);
            }

            var request = new GetMatrixChangesRequest
            {
                OperationNumber   = rspnse.OperationNumber,
                TCReportingPeriod = null,
                Section           = null,
                ChangeType        = null,
                ChangeSubType     = null
            };

            var response = _matrixChangesService.GetMatrixChanges(request);

            if (!response.IsValid)
            {
                throw new Exception(response.ErrorMessage);
            }

            var viewModel = _viewModelMapperHelper.ConvertMatrixChangesViewModel(response.MatrixChangesDTO);

            if (viewModel.MatrixChangesList == null || viewModel.MatrixChangesList.Count == 0)
            {
                viewModel.MatrixChangesList = new List <MatrixChangesItem>();
            }

            viewModel.FieldAccessList = _viewModelMapperHelper.GetFieldAccessModelList(operationNumber, PAGE_CHART);

            stop = new TimeSpan(DateTime.Now.Ticks);
            var resultado = stop.Subtract(start).Seconds;

            return(View(viewModel));
        }
        public virtual ActionResult FilterMatrixChanges(string operationNumber, int tcReportingPeriod, int?section, int?changeType, int?changeSubType)
        {
            TimeSpan stop;
            TimeSpan start = new TimeSpan(DateTime.Now.Ticks);

            var rspnse = _tcmUniverseService.GetParentOperation(operationNumber);

            if (!rspnse.IsValid)
            {
                throw new Exception(rspnse.ErrorMessage);
            }

            SetPermissionMatrixChanges();
            var request = new GetMatrixChangesRequest
            {
                OperationNumber   = rspnse.OperationNumber,
                TCReportingPeriod = tcReportingPeriod,
                Section           = section,
                ChangeType        = changeType,
                ChangeSubType     = changeSubType
            };
            var response = new GetMatrixChangesResponse();

            response = _matrixChangesService.FilterMatrixChanges(request);

            if (!response.IsValid)
            {
                throw new Exception(response.ErrorMessage);
            }

            var viewModel = new MatrixChangesViewModel
            {
                IsRecipientExecutedTCs = response.MatrixChangesDTO.IsRecipientExecutedTCs,
                MatrixChangesList      = response.MatrixChangesDTO.MatrixChanges
            };

            viewModel.FieldAccessList = _viewModelMapperHelper.GetFieldAccessModelList(operationNumber, PAGE_CHART);

            stop = new TimeSpan(DateTime.Now.Ticks);
            var resultado = stop.Subtract(start).Seconds;

            return(PartialView("Partial/Table", viewModel));
        }