protected override ValidationResult IsValid(object value, ValidationContext validationContext) { if (value != null) { UnitOperationViewModel vm = (UnitOperationViewModel)value; if (vm.UnitId.HasValue && vm.OperationId.HasValue) { Unit u = ServiceLocator.Current.GetInstance <IOrganizationTasks>().GetUnit(vm.UnitId.Value); Operation o = ServiceLocator.Current.GetInstance <IOrganizationTasks>().GetOperation(vm.OperationId.Value); if (u != null && o != null) { if (vm.Id == 0) { // new UnitOperation if (u.UnitOperations.Where(x => x.Operation == o).Any()) { return(new ValidationResult(this.ErrorMessage)); } } else { // existing UnitOperation if (u.UnitOperations.Where(x => x.Id != vm.Id && x.Operation == o).Any()) { return(new ValidationResult(this.ErrorMessage)); } } } } } return(ValidationResult.Success); }
public ActionResult AddOperationModal(int unitId) { UnitOperationViewModel vm = new UnitOperationViewModel(); Unit unit = this.orgTasks.GetUnit(unitId); if (unit != null) { vm.UnitName = unit.UnitName; } return(View(vm)); }
public ActionResult AddUnitModal(int operationId) { UnitOperationViewModel vm = new UnitOperationViewModel(); Operation op = this.orgTasks.GetOperation(operationId); if (op != null) { vm.OperationName = op.Name; } return(View(vm)); }
public JsonNetResult EditModal(UnitOperationViewModel vm) { if (ModelState.IsValid) { UnitOperation uo = this.orgTasks.GetUnitOperation(vm.Id); uo = Mapper.Map(vm, uo); uo = this.orgTasks.SaveUnitOperation(uo); return(JsonNet(string.Empty)); } return(JsonNet(this.GetErrorsForJson())); }
public JsonNetResult AddOperationModal(UnitOperationViewModel vm) { if (ModelState.IsValid) { Unit unit = this.orgTasks.GetUnit(vm.UnitId.Value); if (unit != null) { if (vm.OperationId.HasValue) { Operation op = this.orgTasks.GetOperation(vm.OperationId.Value); if (op != null) { UnitOperation uo = Mapper.Map(vm, new UnitOperation()); uo.Operation = op; uo.Unit = unit; uo = this.orgTasks.SaveUnitOperation(uo); return(JsonNet(string.Empty)); } else { ModelState.AddModelError("OperationId", "That operation doesn't exist."); } } else { ModelState.AddModelError("OperationId", "No operation selected."); } } else { ModelState.AddModelError("UnitId", "That unit doesn't exist."); } } return(JsonNet(this.GetErrorsForJson())); }