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 })); }
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)); }
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 })); }