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