public virtual ActionResult Reassign(int resultsMatrixId, int impactId, int impactIndicatorId, int intervalId, bool accessedByAdmin, bool isThirInterval)
        {
            ResultsMatrixModel resultModel = ClientResultsMatrix.FindOneModel(new IDB.MW.Domain.Contracts.Specifications.ResultsMatrixSpecification()
            {
                ResultsMatrixId = resultsMatrixId
            });

            // Get Interval
            var interval = ClientResultsMatrix.GetResultsMatrixModel(new OperationModel()
            {
                OperationNumber = resultModel.Operation.OperationNumber
            }).Interval;

            // Get all impacts associated to the current ResultsMatrix
            List <ImpactModel> impacts = resultModel.Impacts;

            // Set statement data
            ImpactModel currentImpact = impacts.Where(i => i.ImpactId == impactId).SingleOrDefault <ImpactModel>();

            // Remove current impact
            impacts.RemoveAll(i => i.ImpactId == impactId);

            ViewData["Statement"] = currentImpact.Statement;

            ViewData["Definition"] = currentImpact.ImpactIndicators.Where(ii => ii.ImpactIndicatorId == impactIndicatorId).SingleOrDefault <ImpactIndicatorModel>().Definition;

            ViewData["impactIndicatorId"] = impactIndicatorId;

            ViewData["resultsMatrixId"] = resultsMatrixId;

            ViewData["thirdIntervalReassignIndicatorMessage"] = Localization.GetText("TCM.RCMW.RegisterChangesMany.TextMessage");

            ViewData["accessedByAdmin"] = accessedByAdmin;

            ViewData["isThirInterval"] = isThirInterval;

            ViewData["intervalCategory"] = intervalId;

            resultModel.Impacts = null;

            // Set the imapcts to set in listbox
            resultModel.Impacts = impacts;

            return(PartialView(impacts));
        }
示例#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));
        }
        public virtual ActionResult EditDetail(int impactIndicatorId)
        {
            ImpactIndicatorModel indicatorModel = ClientResultsMatrix.FindOneImpactIndicatorModel(new ImpactIndicatorSpecification()
            {
                ImpactIndicatorId = impactIndicatorId
            });

            ImpactModel impactModel = ClientResultsMatrix.FindOneImpactModel(new ImpactSpecification()
            {
                ImpactId = indicatorModel.ImpactId
            });

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

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

            // Check if the administrator is accessing
            var accessedByAdministrator = true;

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

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

            return(View(editImpactIndicatoModel));
        }