public ActionResult CreateChild(int currentUnitId, UnitHierarchyViewModel vm) { if (ModelState.IsValid) { UnitHierarchy uh = new UnitHierarchy(); Mapper.Map(vm, uh); uh.ParentUnit = this.orgTasks.GetUnit(vm.ParentUnitId); uh.Unit = this.orgTasks.GetUnit(vm.UnitId); uh.UnitHierarchyType = this.orgTasks.GetUnitHierarchyType(vm.UnitHierarchyTypeId); this.orgTasks.SaveUnitHierarchy(uh); return(RedirectToAction("Details", "Units", new { id = currentUnitId, area = "Profiling" })); } return(CreateChild(currentUnitId)); }
public ActionResult CreateChild(int currentUnitId) { Unit u = this.orgTasks.GetUnit(currentUnitId); if (u != null) { ViewBag.CurrentUnit = u; UnitHierarchyViewModel vm = new UnitHierarchyViewModel(); vm.ParentUnitId = u.Id; vm.ParentUnitName = u.UnitName; vm.UnitHierarchyTypeId = this.orgTasks.GetUnitHierarchyType(UnitHierarchyType.NAME_HIERARCHY).Id; return(View(vm)); } return(new HttpNotFoundResult()); }
public ActionResult Edit(int currentUnitId, int id) { UnitHierarchy uh = this.orgTasks.GetUnitHierarchy(id); Unit u = this.orgTasks.GetUnit(currentUnitId); if (uh != null && u != null) { ViewBag.CurrentUnit = u; UnitHierarchyViewModel vm = new UnitHierarchyViewModel(uh); vm.PopulateDropDowns(this.orgTasks.GetUnitHierarchyTypes()); return(View(vm)); } else { return(new HttpNotFoundResult()); } }
public ActionResult EditNameChange(int currentUnitId, UnitHierarchyViewModel vm) { if (ModelState.IsValid) { UnitHierarchy uh = this.orgTasks.GetUnitHierarchy(vm.Id); if (uh != null) { Mapper.Map(vm, uh); uh.ParentUnit = this.orgTasks.GetUnit(vm.ParentUnitId); uh.Unit = this.orgTasks.GetUnit(vm.UnitId); uh.UnitHierarchyType = this.orgTasks.GetUnitHierarchyType(vm.UnitHierarchyTypeId); this.orgTasks.SaveUnitHierarchy(uh); return(RedirectToAction("Details", "Units", new { id = currentUnitId, area = "Profiling" })); } } return(EditNameChange(currentUnitId, vm.Id)); }
public ActionResult EditNameChange(int currentUnitId, int id) { UnitHierarchy uh = this.orgTasks.GetUnitHierarchy(id); Unit u = this.orgTasks.GetUnit(currentUnitId); if (uh != null && u != null) { ViewBag.CurrentUnit = u; UnitHierarchyViewModel vm = new UnitHierarchyViewModel(uh); vm.UnitHierarchyTypeId = this.orgTasks.GetUnitHierarchyType(UnitHierarchyType.NAME_CHANGED_NAME_TO).Id; return(View(vm)); } else { return(new HttpNotFoundResult()); } }
protected override ValidationResult IsValid(object value, ValidationContext validationContext) { if (value != null) { UnitHierarchyViewModel vm = (UnitHierarchyViewModel)value; // no hierarchy type should allow both units to be the same if (vm.ParentUnitId == vm.UnitId) { return(new ValidationResult(this.ErrorMessage)); } // don't allow duplicates or reverse relationships if already exists if (ServiceLocator.Current.GetInstance <IOrganizationTasks>().GetUnitHierarchy(vm.UnitId, vm.ParentUnitId) != null || ServiceLocator.Current.GetInstance <IOrganizationTasks>().GetUnitHierarchy(vm.ParentUnitId, vm.UnitId) != null) { return(new ValidationResult(this.ErrorMessage)); } } return(ValidationResult.Success); }