public virtual ActionResult Delete( int impactId, int intervalId, bool accessedByAdmin, bool isThirInterval) { CustomDeleteImpactModel deleteImpactModel = new CustomDeleteImpactModel(); int totalRows = 0; ImpactModel currentImpact = _clientResultsMatrix.FindOneImpactModel( new ImpactSpecification() { ImpactId = impactId }); var existingImpacts = _clientResultsMatrix.FindAllImpactModelsBySpecification( totalRows, new ImpactSpecification() { ResultsMatrixId = currentImpact.ResultsMatrixId }, int.MaxValue, 0, null).ToList <ImpactModel>(); existingImpacts.Where(x => x.ImpactId == currentImpact.ImpactId).ForEach(x => x.Statement = "Delete"); existingImpacts.Sort((x, y) => x.Statement.CompareTo(y.Statement)); deleteImpactModel.currentImpact = currentImpact; deleteImpactModel.existingImpacts = existingImpacts.ToList(); deleteImpactModel.intervalId = intervalId; deleteImpactModel.resultsMatrixId = currentImpact.ResultsMatrixId; deleteImpactModel.AccessedByAdministrator = accessedByAdmin; if (intervalId == ResultsMatrixCodes.ThirdInterval || (accessedByAdmin && isThirInterval)) { deleteImpactModel.IsThirdInterval = isThirInterval; ViewData["message"] = 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 { deleteImpactModel.IsThirdInterval = false; } deleteImpactModel.IsValidated = _clientResultsMatrix.IsValidateImpactByImpactIndicatorYearPlans(impactId); return(PartialView(deleteImpactModel)); }
public ActionResult Create(FormCollection collection) { try { ImpactModel impactModel = new ImpactModel(); TryUpdateModel(impactModel, collection); var impact = Mapper.Map <ImpactModel, IImpact>(impactModel); _service.CreateImpact(impact); return(RedirectToAction("Index")); } catch { return(View()); } }
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)); }
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 })); }