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