Example #1
0
        public virtual ActionResult UpdateDetail(CustomEditOutcomeIndicatorModel updatedModel)
        {
            var indicatorModel = ClientResultsMatrix.FindOneOutcomeIndicatorModel(
                new OutcomeIndicatorSpecification
            {
                OutcomeIndicatorId = updatedModel.impactIndicator.OutcomeIndicatorId
            });
            var impactModel = ClientResultsMatrix.FindOneOutcomeModel(
                new OutcomeSpecification
            {
                OutcomeId = indicatorModel.OutcomeId
            });

            updatedModel.impactIndicator.AccessedByAdministrator = IDBContext.Current.HasRole(Role.RM_ADMINISTRATOR);
            updatedModel.impactIndicator.IsThirdInterval         = updatedModel.IsThirdInterval;
            updatedModel.impactIndicator.IntervalId = updatedModel.IntervalId;

            ClientResultsMatrix.UpdateImpactIndicator(
                updatedModel.impactIndicator, IDBContext.Current.UserName);

            _cacheData.Remove(_outcomeIndicatorCacheName, System.Web.Caching.CacheItemRemovedReason.Removed);

            return(RedirectToAction(
                       "Detail",
                       "OutcomeIndicator",
                       new
            {
                resultsMatrixId = impactModel.ResultsMatrixId,
                impactId = impactModel.OutcomeId,
                impactIndicatorId = updatedModel.impactIndicator.OutcomeIndicatorId
            }));
        }
Example #2
0
        public virtual ActionResult EditDetail(int impactIndicatorId)
        {
            OutcomeIndicatorModel indicatorModel = ClientResultsMatrix.FindOneOutcomeIndicatorModel(new OutcomeIndicatorSpecification()
            {
                OutcomeIndicatorId = impactIndicatorId
            });

            OutcomeModel impactModel = ClientResultsMatrix.FindOneOutcomeModel(new OutcomeSpecification()
            {
                OutcomeId = indicatorModel.OutcomeId
            });

            bool isLinked = (indicatorModel.PredefinedIndicator == null) ? false : true;

            // Start third interval validation
            var operationNumber = ClientResultsMatrix.FindOneModel(new ResultsMatrixSpecification()
            {
                ResultsMatrixId = impactModel.ResultsMatrixId
            }).Operation.OperationNumber;

            // Check if the administrator is accessing
            var accessedByAdministrator = IDBContext.Current.HasRole(Role.RM_ADMINISTRATOR);

            var resultsMatrix = ClientResultsMatrix.GetResultsMatrixModel(new OperationModel()
            {
                OperationNumber = operationNumber, AccessedByAdministrator = accessedByAdministrator
            });

            // End third interval validation
            CustomEditOutcomeIndicatorModel editImpactIndicatoModel = new CustomEditOutcomeIndicatorModel
            {
                impact          = impactModel,
                impactIndicator = indicatorModel,
                IsLinkedToPredefinedIndicator = isLinked,
                IntervalId = resultsMatrix.Interval.IntervalId,
                AccessedByAdministrator = accessedByAdministrator,
                IsThirdInterval         = resultsMatrix.IsThirdInterval,
                OperationNumber         = operationNumber,
                IsTcmModule             = false
            };

            return(View(editImpactIndicatoModel));
        }