public ActionResult Create(DepartmentCM m) { BindData(); var entity = iDepartmentService.Get(m.ID) ?? new Department(); try { if (ModelState.IsValid) { entity.Name = m.Name; entity.ParentID = m.ParentID; entity.Status = 1; iDepartmentService.Save(entity); iDepartmentService.Commit(); this.ShowTip(); } else { AddError(); } } catch (Exception ex) { this.AddError(ErrorCode.Exception, ex.Message); } return(RedirectToAction("Create", new { ID = entity.ID })); }
private void UpdateChild(ref long priorityCounter, DepartmentCM obj) { foreach (DepartmentCM child in obj.children) { Department nextModel = _departmentService.GetById(child.id); nextModel.ParentId = obj.id; nextModel.Level = _departmentService.FindBy(x => x.Id == obj.id).Select(x => x.Level).FirstOrDefault() + 1; nextModel.Priority = priorityCounter++; _departmentService.Update(nextModel); if (child.children != null) { UpdateChild(ref priorityCounter, child); } } }