Exemplo n.º 1
0
 public virtual Task DeleteAsync(PermissionOrganization permissionOrganization, CancellationToken cancellationToken)
 {
     if (permissionOrganization == null)
     {
         throw new ArgumentNullException(nameof(permissionOrganization));
     }
     return(Store.DeleteAsync(permissionOrganization, cancellationToken));
 }
Exemplo n.º 2
0
 public virtual async Task UpdateAsync(PermissionOrganization permissionOrganization, CancellationToken cancellationToken)
 {
     if (permissionOrganization == null)
     {
         throw new ArgumentNullException(nameof(permissionOrganization));
     }
     await Store.UpdateAsync(permissionOrganization, cancellationToken);
 }
        public async Task <PermissionOrganization> CreateAsync(PermissionOrganization permissionOrganization, CancellationToken cancellationToken)
        {
            if (permissionOrganization == null)
            {
                throw new ArgumentNullException(nameof(permissionOrganization));
            }
            Context.Add(permissionOrganization);
            await Context.SaveChangesAsync(cancellationToken);

            return(permissionOrganization);
        }
Exemplo n.º 4
0
        public ActionResult PermissionOrganizationEdit()
        {
            if (!base.HasPermission("organization", PermissionOperate.add) && !base.HasPermission("organization", PermissionOperate.edit))
            {
                return(base.ShowNotPermissionTip(""));
            }

            string id = RQuery["Id"];
            PermissionOrganization permissionOrganization = string.IsNullOrWhiteSpace(id) ? null : _permissionOrganizationService.GetById(new Guid(id));

            return(AdminView(permissionOrganization));
        }
 public async Task DeleteAsync(PermissionOrganization permissionOrganization, CancellationToken cancellationToken)
 {
     if (permissionOrganization == null)
     {
         throw new ArgumentNullException(nameof(permissionOrganization));
     }
     Context.Remove(permissionOrganization);
     try
     {
         await Context.SaveChangesAsync(cancellationToken);
     }
     catch (DbUpdateConcurrencyException)
     {
         throw;
     }
 }
Exemplo n.º 6
0
        public ActionResult PermissionOrganizationDeleteProvide(Guid id)
        {
            if (!base.HasPermission("organization", PermissionOperate.delete))
            {
                return(JsonMessage(false, "你没有删除部门的权限"));
            }

            PermissionOrganization permissionOrganization = _permissionOrganizationService.GetById(id);

            if (_permissionOrganizationService.CountChildOrganizationNumber(id) > 0)
            {
                return(JsonMessage(false, "当前部门存在子部门,请先删除子部门"));
            }

            if (permissionOrganization.Admins.Count > 0)
            {
                return(JsonMessage(false, "当前部门存在管理员,请先删除管理员"));
            }

            _permissionOrganizationService.Delete(permissionOrganization);
            base.AddLog(string.Format("删除部门[{0}]成功", permissionOrganization.Name), AdminLoggerModuleEnum.Organization);
            return(JsonMessage(true, "删除成功"));
        }
Exemplo n.º 7
0
        public ActionResult PermissionOrganizationEditProvide()
        {
            if (string.IsNullOrWhiteSpace(RQuery["OrganizationId"]))
            {
                if (!base.HasPermission("organization", PermissionOperate.add))
                {
                    return(JsonMessage(false, "你没有添加部门的权限"));
                }
            }
            else
            {
                if (!base.HasPermission("organization", PermissionOperate.edit))
                {
                    return(JsonMessage(false, "你没有编辑部门的权限"));
                }
            }

            PermissionOrganization permissionOrganization = new PermissionOrganization();
            Guid   oldParentId = Guid.Empty;
            string oldRootPath = string.Empty;

            if (!string.IsNullOrWhiteSpace(RQuery["OrganizationId"]))
            {
                permissionOrganization = _permissionOrganizationService.GetById(new Guid(RQuery["OrganizationId"]));
                oldParentId            = permissionOrganization.ParentId;
                oldRootPath            = permissionOrganization.RootPath;
            }

            UpdateModel <PermissionOrganization>(permissionOrganization);

            if (string.IsNullOrWhiteSpace(RQuery["OrganizationId"]))//新增
            {
                _permissionOrganizationService.Insert(permissionOrganization);
                //更新RootPath
                if (permissionOrganization.ParentId == Guid.Empty)
                {
                    permissionOrganization.RootPath = string.Format("{0},{1}", Guid.Empty, permissionOrganization.Id.ToString().ToUpper());
                }
                else
                {
                    permissionOrganization.RootPath = string.Format("{0},{1}",
                                                                    _permissionOrganizationService.GetById(permissionOrganization.ParentId).RootPath, permissionOrganization.Id.ToString().ToUpper());
                }

                _permissionOrganizationService.Update(permissionOrganization);
                base.AddLog(string.Format("添加部门[{0}]成功", permissionOrganization.Name), AdminLoggerModuleEnum.Organization);
                return(JsonMessage(true, "添加部门成功"));
            }
            else//修改
            {
                if (oldParentId != permissionOrganization.ParentId)
                {
                    PermissionOrganization permissionOrganizationParent = _permissionOrganizationService.GetById(permissionOrganization.ParentId);

                    if (permissionOrganizationParent != null && permissionOrganizationParent.RootPath.ToLower().Contains(permissionOrganization.Id.ToString().ToLower()))
                    {
                        return(JsonMessage(false, "修改部门失败,上级部门不能是本身或本身的子节点"));
                    }

                    //更新RootPath

                    permissionOrganization.RootPath = string.Format("{0},{1}",
                                                                    permissionOrganizationParent == null ? Guid.Empty.ToString() : permissionOrganizationParent.RootPath, permissionOrganization.Id.ToString().ToUpper());
                    _permissionOrganizationService.Update(permissionOrganization);
                    //更新下级RootPath
                    _permissionOrganizationService.UpdateRootPath(oldRootPath, permissionOrganization.RootPath);
                }
                else
                {
                    _permissionOrganizationService.Update(permissionOrganization);
                }

                base.AddLog(string.Format("修改部门[{0}]成功", permissionOrganization.Name), AdminLoggerModuleEnum.Organization);
                return(JsonMessage(true, "修改部门成功"));
            }
        }