Example #1
0
        public virtual ActionResult DeleteDisaggregation(int resultsMatrixId, int impactDisaggregationId)
        {
            int code = 0;

            try
            {
                OutcomeDisaggregationModel indicatorModel = ClientResultsMatrix.FindOneOutcomeDisaggregationModel(new OutcomeDisaggregationSpecification()
                {
                    OutcomeDisaggregationId = impactDisaggregationId
                });

                if (indicatorModel != null)
                {
                    ClientResultsMatrix.DeleteDissagregation(indicatorModel);
                    code = 504;
                }
                else
                {
                    code = 496;
                }
            }
            catch (Exception)
            {
                code = 496;
            }

            var resultsMatrix = ClientResultsMatrix.FindOneModel(new ResultsMatrixSpecification()
            {
                ResultsMatrixId = resultsMatrixId
            });

            return(RedirectToAction("Edit", "Outcomes", new { operationId = resultsMatrix.OperationId, resultsMatrixId = resultsMatrixId, code = code }));
        }
Example #2
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 #3
0
        public virtual ActionResult DeleteYear(int resultsMatrixId, int impactId, int year)
        {
            int code = 0;

            var resultsMatrix = ClientResultsMatrix.FindOneModel(new ResultsMatrixSpecification()
            {
                ResultsMatrixId = resultsMatrixId
            });

            try
            {
                ClientResultsMatrix.DeleteYear(resultsMatrix, new OutcomeIndicatorYearPlanModel()
                {
                    Year = year
                });
                code = 505;
            }
            catch (Exception)
            {
                code = 495;
                throw;
            }

            return(RedirectToAction("Edit", "Outcomes", new { operationId = resultsMatrix.OperationId, resultsMatrixId = resultsMatrixId, code }));
        }
        public virtual ActionResult UpdateDetail(CustomEditImpactIndicatoModel updatedModel)
        {
            var indicatorModel = ClientResultsMatrix.FindOneImpactIndicatorModel(
                new ImpactIndicatorSpecification()
            {
                ImpactIndicatorId = updatedModel.impactIndicator.ImpactIndicatorId
            });
            var impactModel = ClientResultsMatrix.FindOneImpactModel(
                new ImpactSpecification()
            {
                ImpactId = indicatorModel.ImpactId
            });

            updatedModel.impactIndicator.IntervalId = updatedModel.IntervalId;
            updatedModel.impactIndicator.AccessedByAdministrator = updatedModel.AccessedByAdministrator;
            updatedModel.impactIndicator.IsThirdInterval         = updatedModel.IsThirdInterval;
            ClientResultsMatrix.UpdateImpactIndicator(
                updatedModel.impactIndicator, IDBContext.Current.UserName);
            _cacheData.Remove(
                _impactsIndicatorCacheName, System.Web.Caching.CacheItemRemovedReason.Removed);

            return(RedirectToAction(
                       "Detail",
                       "ImpactIndicator",
                       new
            {
                resultsMatrixId = impactModel.ResultsMatrixId,
                impactId = impactModel.ImpactId,
                impactIndicatorId = updatedModel.impactIndicator.ImpactIndicatorId
            }));
        }
Example #5
0
        public virtual ActionResult DeleteIndicatorWarning(int resultsMatrixId, int impactIndicatorId, int intervalId)
        {
            var accessedByAdministrator = IDBContext.Current.HasRole(Role.RM_ADMINISTRATOR);

            var resultModel = ClientResultsMatrix.GetLightResultsMatrixModel(new ResultsMatrixModel()
            {
                ResultsMatrixId = resultsMatrixId, AccessedByAdministrator = accessedByAdministrator
            });

            CustomDeleteOutcomeIndicatorModel deletedModel = new CustomDeleteOutcomeIndicatorModel()
            {
                AccessedByAdministrator = accessedByAdministrator,
                ImpactId        = impactIndicatorId,
                IsThirdInterval = resultModel.IsThirdInterval,
                ResultsMatrixId = resultModel.ResultsMatrixId,
                IntervalId      = resultModel.Interval.IntervalId
            };

            ViewData["defaulDeleteIndicatorMessage"] = Localization.GetText("This action cannot be undone, are you sure you wish to continue?");

            if (resultModel.Interval.IntervalId == ResultsMatrixCodes.ThirdInterval || (deletedModel.AccessedByAdministrator && resultModel.IsThirdInterval))
            {
                ViewData["thirdIntervalDeleteIndicatorMessage"] = 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?");
            }
            else
            {
                ViewData["thirdIntervalDeleteIndicatorMessage"] = string.Empty;
            }

            return(PartialView(deletedModel));
        }
        public virtual ActionResult DeleteIndicatorWarning(
            string order,
            string definition,
            int resultsMatrixId,
            int impactIndicatorId,
            int intervalId,
            bool accessedByAdmin,
            bool isThirInterval)
        {
            ViewData["intervalId"]      = intervalId;
            ViewData["resultsMatrixId"] = resultsMatrixId;
            ViewData["impactId"]        = impactIndicatorId;

            ViewData["accessedByAdmin"] = accessedByAdmin;
            ViewData["isThirInterval"]  = isThirInterval;
            ViewData["isValidated"]     = ClientResultsMatrix.IsValidate(impactIndicatorId);

            ViewData["IndicatorName"] = string.Format("{0} {1}", order, definition);

            ViewData["defaulDeleteIndicatorMessage"] = Localization.GetText("TCM.DO.DeleteOutcomeStatement.UndoneActionMessage");

            if (intervalId == ResultsMatrixCodes.ThirdInterval || (accessedByAdmin && isThirInterval))
            {
                ViewData["thirdIntervalDeleteIndicatorMessage"] = Localization.GetText("TCM.RCMW.RegisterChangesMany.TextMessage");
            }
            else
            {
                ViewData["thirdIntervalDeleteIndicatorMessage"] = string.Empty;
            }

            return(PartialView());
        }
Example #7
0
        public virtual ActionResult ReassignIndicator(CustomReassignOutcomeIndicatorModel reassignModel)
        {
            int code = 0;

            try
            {
                OutcomeIndicatorModel indicatorModel = ClientResultsMatrix.FindOneOutcomeIndicatorModel(
                    new OutcomeIndicatorSpecification {
                    OutcomeIndicatorId = reassignModel.OutcomeIndicatorId
                });

                indicatorModel.AccessedByAdministrator = IDBContext.Current.HasRole(Role.RM_ADMINISTRATOR);
                indicatorModel.IsThirdInterval         = reassignModel.IsThirdInterval;
                indicatorModel.IntervalId = reassignModel.IntervalId;

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

                OutcomeModel newImpactModel = ClientResultsMatrix.FindOneOutcomeModel(
                    new OutcomeSpecification {
                    OutcomeId = reassignModel.ImpactId
                });

                if (indicatorModel != null & currentImpactModel != null && newImpactModel != null)
                {
                    ClientResultsMatrix.ReassignIndicator(
                        currentImpactModel,
                        newImpactModel,
                        indicatorModel,
                        IDBContext.Current.UserName);

                    code = 503;
                }
            }
            catch (Exception)
            {
                code = 497;
            }

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

            var resultsMatrix = ClientResultsMatrix.FindOneModel(
                new ResultsMatrixSpecification {
                ResultsMatrixId = reassignModel.ResultsMatrixId
            });

            return(RedirectToAction(
                       "Edit",
                       "Outcomes",
                       new
            {
                operationId = resultsMatrix.OperationId,
                resultsMatrixId = resultsMatrix.ResultsMatrixId,
                code = code
            }));
        }
        public virtual ActionResult Edit(int impactId)
        {
            var impactModel = ClientResultsMatrix.FindOneImpactModel(new ImpactSpecification()
            {
                ImpactId = impactId
            });

            return(View(impactModel));
        }
        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
            }));
        }
Example #10
0
        public virtual ActionResult DeleteYear(int resultsMatrixId, int impactId, int year)
        {
            int code = 0;

            var resultsMatrix = ClientResultsMatrix
                                .FindOneModel(new ResultsMatrixSpecification()
            {
                ResultsMatrixId = resultsMatrixId
            });

            try
            {
                ClientResultsMatrix.DeleteYear(
                    resultsMatrix,
                    new OutcomeIndicatorYearPlanModel()
                {
                    Year = year
                });

                code = 505;
            }
            catch (Exception)
            {
                code = 495;
                throw;
            }

            bool isAjaxRequest = new SysWeb.HttpRequestWrapper(SysWeb.HttpContext.Current.Request)
                                 .IsAjaxRequest();

            if (isAjaxRequest)
            {
                return(Json(new
                {
                    IsValid = true,
                    Redirect = Url.Action("Edit",
                                          "Outcomes",
                                          new
                    {
                        operationId = resultsMatrix.OperationId,
                        resultsMatrixId = resultsMatrixId,
                        code
                    })
                }, JsonRequestBehavior.AllowGet));
            }

            return(RedirectToAction("Edit",
                                    "Outcomes",
                                    new
            {
                operationId = resultsMatrix.OperationId,
                resultsMatrixId = resultsMatrixId,
                code
            }));
        }
Example #11
0
        public virtual ActionResult Delete(CustomDeleteOutcomeIndicatorModel deletedModel)
        {
            int code          = 0;
            var resultsMatrix = ClientResultsMatrix.FindOneModel(
                new ResultsMatrixSpecification {
                ResultsMatrixId = deletedModel.ResultsMatrixId
            });

            try
            {
                OutcomeIndicatorModel indicatorModel = ClientResultsMatrix.FindOneOutcomeIndicatorModel(
                    new OutcomeIndicatorSpecification {
                    OutcomeIndicatorId = deletedModel.ImpactId
                });

                if (indicatorModel != null)
                {
                    ClientResultsMatrix.DeleteOutcomeIndicator(
                        new ResultsMatrixModel
                    {
                        ResultsMatrixId         = deletedModel.ResultsMatrixId,
                        IsThirdInterval         = deletedModel.IsThirdInterval,
                        AccessedByAdministrator = deletedModel.AccessedByAdministrator,
                        Interval = new IntervalModel {
                            IntervalId = deletedModel.IntervalId
                        }
                    },
                        indicatorModel,
                        IDBContext.Current.UserName);

                    code = 502;
                }
            }
            catch (Exception e)
            {
                Logger.GetLogger().WriteError("OutcomeIndicatorController", "Error when delete indicator", e);
                code = 498;
            }

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

            return(RedirectToAction(
                       "Edit",
                       "Outcomes",
                       new
            {
                operationId = resultsMatrix.OperationId,
                resultsMatrixId = resultsMatrix.ResultsMatrixId,
                code = code
            }));
        }
Example #12
0
        public virtual ActionResult Delete(CustomDeleteOutcomeIndicatorModel deletedModel)
        {
            int code          = 0;
            var resultsMatrix = ClientResultsMatrix.FindOneModel(
                new ResultsMatrixSpecification {
                ResultsMatrixId = deletedModel.ResultsMatrixId
            });

            try
            {
                OutcomeIndicatorModel indicatorModel = ClientResultsMatrix.FindOneOutcomeIndicatorModel(
                    new OutcomeIndicatorSpecification {
                    OutcomeIndicatorId = deletedModel.ImpactId
                });

                if (indicatorModel != null)
                {
                    ClientResultsMatrix.DeleteOutcomeIndicator(
                        new ResultsMatrixModel
                    {
                        ResultsMatrixId         = deletedModel.ResultsMatrixId,
                        IsThirdInterval         = deletedModel.IsThirdInterval,
                        AccessedByAdministrator = deletedModel.AccessedByAdministrator,
                        Interval = new IntervalModel {
                            IntervalId = deletedModel.IntervalId
                        }
                    },
                        indicatorModel,
                        IDBContext.Current.UserName);

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

            return(RedirectToAction(
                       "Edit",
                       "Outcomes",
                       new
            {
                operationId = resultsMatrix.OperationId,
                resultsMatrixId = resultsMatrix.ResultsMatrixId,
                code = code
            }));
        }
        public virtual ActionResult DeleteDisaggregation(int resultsMatrixId, int impactDisaggregationId)
        {
            // Define Ajax response
            int code = 0;

            try
            {
                // Retrieve ImpactIndicator
                ImpactDisaggregationModel indicatorModel = ClientResultsMatrix.FindOneImpactDisaggregationModel(new ImpactDisaggregationSpecification()
                {
                    ImpactDisaggregationId = impactDisaggregationId
                });

                if (indicatorModel != null /*&& elementTypeModel != null && matrixChangeTypeModel != null*/)
                {
                    bool deleted = ClientResultsMatrix.DeleteDisaggregation(indicatorModel);

                    ImpactDisaggregationModel deletedModel = ClientResultsMatrix.FindOneImpactDisaggregationModel(new ImpactDisaggregationSpecification()
                    {
                        ImpactDisaggregationId = impactDisaggregationId
                    });

                    if (deleted == true && deletedModel == null)
                    {
                        code = 504;
                    }
                    else
                    {
                        code = 496;
                    }
                }
                else
                {
                    code = 496;
                }
            }
            catch (Exception)
            {
                code = 496;
            }

            var resultsMatrix = ClientResultsMatrix.FindOneModel(new IDB.MW.Domain.Contracts.Specifications.ResultsMatrixSpecification()
            {
                ResultsMatrixId = resultsMatrixId
            });

            return(RedirectToAction("Edit", "Impacts", new { operationId = resultsMatrix.OperationId, resultsMatrixId = resultsMatrixId, code = code }));
        }
        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));
        }
Example #15
0
        public virtual ActionResult Reassign(int resultsMatrixId, int impactId, int impactIndicatorId)
        {
            // Check if the administrator is accessing
            var accessedByAdministrator = IDBContext.Current.HasRole(Role.RM_ADMINISTRATOR);

            // Get results matrix with interval data associated to administrator
            var lightResultModel = ClientResultsMatrix.GetLightResultsMatrixModel(new ResultsMatrixModel()
            {
                ResultsMatrixId = resultsMatrixId, AccessedByAdministrator = accessedByAdministrator
            });

            // Set impact data
            OutcomeModel currentImpact = ClientResultsMatrix.FindOneOutcomeModel(new OutcomeSpecification()
            {
                OutcomeId = impactId
            });

            // Get outcomes
            IDB.MW.Domain.Models.Architecture.ResultMatrix.Outcomes.ResultsMatrixModel resultModel = ClientResultsMatrix.FindOneModel(new ResultsMatrixSpecification()
            {
                ResultsMatrixId = resultsMatrixId
            });

            List <OutcomeModel> outcomes = resultModel.Outcomes;

            // Remove current outcome
            outcomes.RemoveAll(i => i.OutcomeId == impactId);

            // Set reassign model properties
            CustomReassignOutcomeIndicatorModel reassignModel = new CustomReassignOutcomeIndicatorModel()
            {
                Statement               = currentImpact.Statement,
                Definition              = currentImpact.OutcomeIndicators.Where(ii => ii.OutcomeIndicatorId == impactIndicatorId).SingleOrDefault <OutcomeIndicatorModel>().Definition,
                OutcomeIndicatorId      = impactIndicatorId,
                ResultsMatrixId         = lightResultModel.ResultsMatrixId,
                AccessedByAdministrator = accessedByAdministrator,
                IsThirdInterval         = lightResultModel.IsThirdInterval,
                ImpactId   = impactId,
                Outcomes   = outcomes,
                IntervalId = lightResultModel.Interval.IntervalId
            };

            return(PartialView(reassignModel));
        }
Example #16
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));
        }
Example #18
0
        public virtual ActionResult DeleteIndicatorWarning(
            string order,
            string definition,
            int resultsMatrixId,
            int impactIndicatorId,
            int intervalId)
        {
            // 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 ResultsMatrixModel()
            {
                ResultsMatrixId = resultsMatrixId, AccessedByAdministrator = accessedByAdministrator
            });

            CustomDeleteOutcomeIndicatorModel deletedModel = new CustomDeleteOutcomeIndicatorModel()
            {
                AccessedByAdministrator = accessedByAdministrator,
                ImpactId        = impactIndicatorId,
                IsThirdInterval = resultModel.IsThirdInterval,
                ResultsMatrixId = resultModel.ResultsMatrixId,
                IntervalId      = resultModel.Interval.IntervalId,
                IsValidated     = ClientResultsMatrix.IsValidate(impactIndicatorId),
                IndicatorName   = string.Format("{0} {1}", order, definition)
            };

            ViewData["defaulDeleteIndicatorMessage"] = Localization.GetText("TCM.DO.DeleteOutcomeStatement.UndoneActionMessage");

            if (resultModel.Interval.IntervalId == ResultsMatrixCodes.ThirdInterval || (deletedModel.AccessedByAdministrator && resultModel.IsThirdInterval))
            {
                ViewData["thirdIntervalDeleteIndicatorMessage"] = Localization.GetText("TCM.RCMW.RegisterChangesMany.TextMessage");
            }
            else
            {
                ViewData["thirdIntervalDeleteIndicatorMessage"] = string.Empty;
            }

            return(PartialView(deletedModel));
        }
Example #19
0
        public virtual ActionResult DeleteDisaggregation(int resultsMatrixId, int impactDisaggregationId)
        {
            // Define Ajax response
            int code = 0;

            try
            {
                // Retrieve ImpactIndicator
                OutcomeDisaggregationModel indicatorModel = ClientResultsMatrix.FindOneOutcomeDisaggregationModel(new OutcomeDisaggregationSpecification()
                {
                    OutcomeDisaggregationId = impactDisaggregationId
                });

                if (indicatorModel != null)
                {
                    ClientResultsMatrix.DeleteDissagregation(indicatorModel);
                    code = 504;
                }
                else
                {
                    code = 496;
                }
            }
            catch (Exception)
            {
                code = 496;
            }

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

            var resultsMatrix = ClientResultsMatrix.FindOneModel(new ResultsMatrixSpecification()
            {
                ResultsMatrixId = resultsMatrixId
            });

            return(RedirectToAction("Edit", "Outcomes", new { operationId = resultsMatrix.OperationId, resultsMatrixId = resultsMatrixId, code = code }));
        }
Example #20
0
        public virtual ActionResult Detail(int resultsMatrixId, int impactId, int impactIndicatorId)
        {
            OutcomeModel impactModel = ClientResultsMatrix.FindOneOutcomeModel(new OutcomeSpecification()
            {
                OutcomeId = impactId
            });

            var impactIndicatorModel = impactModel.OutcomeIndicators.Where(ii => ii.OutcomeIndicatorId == impactIndicatorId).SingleOrDefault <OutcomeIndicatorModel>();

            var resultModel = ClientResultsMatrix.FindOneModel(new ResultsMatrixSpecification()
            {
                ResultsMatrixId = resultsMatrixId
            });

            impactModel.OutcomeIndicators.Clear();

            impactModel.OutcomeIndicators.Add(impactIndicatorModel);

            ViewData["operationNumber"] = resultModel.Operation.OperationNumber;

            var StateDraftId = ClientConvergenceMasterData.GetMasterDataId("VALIDATION_STAGE", "PMI_DRAFT");
            var isDraft      = false;

            if (resultModel.ValidationStageId == StateDraftId)
            {
                isDraft = true;
            }

            ViewBag.isDraft    = isDraft;
            ViewBag.isEditable = ClientResultsMatrix.GetLightResultsMatrixModel(new ResultsMatrixModel()
            {
                ResultsMatrixId = resultModel.ResultsMatrixId
            }).isEditable;

            return(View(impactModel));
        }
        public virtual ActionResult ReassignIndicator(
            int resultsMatrixId,
            int impactId,
            int impactIndicatorId,
            int intervalId,
            bool accessedByAdmin,
            bool isThirInterval)
        {
            int code = 0;

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

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

                ImpactModel newImpactModel = ClientResultsMatrix.FindOneImpactModel(
                    new ImpactSpecification()
                {
                    ImpactId = impactId
                });

                if (indicatorModel != null && currentImpactModel != null && newImpactModel != null)
                {
                    IntervalModel interval = new IntervalModel()
                    {
                        IntervalId = intervalId
                    };
                    ClientResultsMatrix.ReassignIndicator(
                        new ResultsMatrixModel()
                    {
                        ResultsMatrixId         = resultsMatrixId,
                        AccessedByAdministrator = accessedByAdmin,
                        IsThirdInterval         = isThirInterval,
                        Interval = interval
                    },
                        currentImpactModel,
                        newImpactModel,
                        indicatorModel,
                        IDBContext.Current.UserName);
                    code = 503;
                }
            }
            catch (Exception)
            {
                code = 497;
            }

            var resultsMatrix = ClientResultsMatrix.FindOneModel(new IDB.MW.Domain.Contracts.Specifications.ResultsMatrixSpecification()
            {
                ResultsMatrixId = resultsMatrixId
            });

            _cacheData.Remove(_impactsIndicatorCacheName, System.Web.Caching.CacheItemRemovedReason.DependencyChanged);

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