public async Task SaveWorkgroup(Entities.Workgroup group, Guid ouid)
        {
            var ou = await EntityStore.LoadAsync <Entities.OrgUnit>(ouid);

            ou.Name = group.Name;

            using (var txn = await Transaction.BeginAsync())
            {
                await EntityStore.SaveAsync(group, txn);

                await EntityStore.SaveAsync(ou, txn);

                await txn.CommitAsync();
            }
        }
示例#2
0
        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);
        }
示例#4
0
        public async Task SaveWorkgroup(Entities.Workgroup group, Guid ouid)
        {
            var ou = await Entities.OrgUnit.LoadAsync(ouid);

            bool nameChanged = ou.Name != group.Name;

            if (nameChanged)
            {
                ou.Name = group.Name;
            }

            using var conn = await SqlStore.Default.OpenConnectionAsync();

            using var txn = conn.BeginTransaction();
            await SqlStore.Default.SaveAsync(group, txn);

            if (nameChanged)
            {
                await SqlStore.Default.SaveAsync(ou, txn);
            }
            txn.Commit();
        }