public async Task <Entities.OrgUnit> NewWorkgroup(Guid parentID) { if (parentID == Guid.Empty) { throw new Exception("新建组时必须指定上级节点"); } //获取上级 var parent = await Entities.OrgUnit.LoadAsync(parentID); if (parent == null) { throw new Exception("新建组时无法获取上级节点"); } if (parent.BaseType == Entities.Emploee.TypeId) { throw new Exception("无法在员工节点新建子节点"); } var workgroup = new Entities.Workgroup(Guid.NewGuid()); workgroup.Name = "新工作组"; var ou = new Entities.OrgUnit(Guid.NewGuid()); ou.Name = workgroup.Name; ou.BaseType = Entities.Workgroup.TypeId; ou.BaseId = workgroup.Id; ou.ParentId = parentID; //保存并返回 using var conn = await SqlStore.Default.OpenConnectionAsync(); using var txn = conn.BeginTransaction(); await SqlStore.Default.SaveAsync(workgroup, txn); await SqlStore.Default.SaveAsync(ou, txn); txn.Commit(); return(ou); }
public async Task <Entities.OrgUnit> NewWorkgroup(Guid parentID) { if (parentID == Guid.Empty) { throw new Exception("新建组时必须指定上级节点"); } //获取上级 var parent = await EntityStore.LoadAsync <Entities.OrgUnit>(parentID); if (parent == null) { throw new Exception("新建组时无法获取上级节点"); } if (parent.BaseType == Entities.Emploee.TypeId) { throw new Exception("无法在员工节点新建子节点"); } var workgroup = new Entities.Workgroup(); workgroup.Name = "新工作组"; var ou = new Entities.OrgUnit(); ou.Name = workgroup.Name; ou.BaseType = Entities.Workgroup.TypeId; ou.BaseId = workgroup.Id; ou.ParentId = parentID; //保存并返回 using (var txn = await Transaction.BeginAsync()) { await EntityStore.SaveAsync(workgroup, txn); await EntityStore.SaveAsync(ou, txn); await txn.CommitAsync(); } return(ou); }
public Task DragEnded(Entities.OrgUnit source, Entities.OrgUnit target, int dropPosition) { throw new NotImplementedException(); //TODO: 验证是否允许 // if (dropPosition == (int)sys.Enums.DropPosition.AsChildNode) // { // if (source.ID == target.ID) // throw new System.Exception("节点相同"); // sys.DataStore.Default.Save(target); //保存目标节点 // } // else // { // if (source.Parent != null) // { // sys.DataStore.Default.Save(source.Parent); // } // else // { // //TODO:需要保存重新设置SortNumber的其他根级对象 // sys.DataStore.Default.Save(source); // } // } }