/// <summary> /// 删除组信息 /// </summary> /// <param name="input">组Id</param> /// <returns></returns> public async Task <OperateStatus> DeleteGroup(IdInput input) { var operateStatus = new OperateStatus(); //判断是否具有人员 var permissionUsers = await _permissionUserLogic.GetPermissionUsersByPrivilegeMasterAdnPrivilegeMasterValue(EnumPrivilegeMaster.组, input.Id); if (permissionUsers.Any()) { operateStatus.ResultSign = ResultSign.Error; operateStatus.Message = ResourceSystem.具有人员; return(operateStatus); } //判断是否具有按钮权限 var functionPermissions = await _permissionLogic.GetPermissionByPrivilegeMasterValue( new SystemPermissionByPrivilegeMasterValueInput { PrivilegeAccess = EnumPrivilegeAccess.菜单按钮, PrivilegeMasterValue = input.Id, PrivilegeMaster = EnumPrivilegeMaster.组 }); if (functionPermissions.Any()) { operateStatus.ResultSign = ResultSign.Error; operateStatus.Message = ResourceSystem.具有功能项权限; return(operateStatus); } //判断是否具有菜单权限 var menuPermissions = await _permissionLogic.GetPermissionByPrivilegeMasterValue( new SystemPermissionByPrivilegeMasterValueInput { PrivilegeAccess = EnumPrivilegeAccess.菜单, PrivilegeMasterValue = input.Id, PrivilegeMaster = EnumPrivilegeMaster.组 }); if (menuPermissions.Any()) { operateStatus.ResultSign = ResultSign.Error; operateStatus.Message = ResourceSystem.具有菜单权限; return(operateStatus); } return(await DeleteAsync(new SystemGroup { GroupId = input.Id })); }
/// <summary> /// 复制 /// </summary> /// <param name="input">复制信息</param> /// <returns></returns> public async Task <OperateStatus> CopyPost(SystemCopyInput input) { var operateStatus = new OperateStatus(); try { //获取信息 var role = await GetByIdAsync(input.Id); role.PostId = CombUtil.NewComb(); role.Name = input.Name; role.CreateTime = DateTime.Now; //获取拥有的权限及人员 var allUser = (await _permissionUserLogic.GetPermissionUsersByPrivilegeMasterAdnPrivilegeMasterValue(EnumPrivilegeMaster.岗位, input.Id)).ToList(); var allPer = (await _permissionLogic.GetSystemPermissionsByPrivilegeMasterValueAndValue(EnumPrivilegeMaster.岗位, input.Id)).ToList(); foreach (var user in allUser) { user.PrivilegeMasterValue = role.PostId; } foreach (var per in allPer) { per.PrivilegeMasterValue = role.PostId; } //批量插入 operateStatus = await _permissionUserLogic.InsertMultipleAsync(allUser); operateStatus = await _permissionLogic.InsertMultipleAsync(allPer); operateStatus = await InsertAsync(role); operateStatus.Message = Chs.Successful; operateStatus.ResultSign = ResultSign.Successful; } catch (Exception e) { operateStatus.Message = e.Message; } return(operateStatus); }
/// <summary> /// /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task <SystemUserGetRoleUsersOutput> GetChosenPrivilegeMasterUser(SystemUserGetChosenPrivilegeMasterUser input) { SystemUserGetRoleUsersOutput output = new SystemUserGetRoleUsersOutput(); var chosenUserDtos = await _userInfoRepository.GetChosenUser(new FreezeInput { IsFreeze = false }); var allOrgs = (await _organizationLogic.GetAllEnumerableAsync()).ToList(); //获取所有的用户 var permissions = (await _permissionUserLogic.GetPermissionUsersByPrivilegeMasterAdnPrivilegeMasterValue(input.PrivilegeMaster, input.PrivilegeMasterValue)).ToList(); IList <string> haveUser = new List <string>(); IList <TransferDto> allUser = new List <TransferDto>(); foreach (var user in chosenUserDtos) { var permission = permissions.Where(w => w.PrivilegeMasterUserId == user.UserId).FirstOrDefault(); if (permission != null) { haveUser.Add(user.UserId.ToString()); } TransferDto dto = new TransferDto { key = user.UserId.ToString(), label = user.Name }; string description = string.Empty; var organization = allOrgs.FirstOrDefault(w => w.OrganizationId == user.OrganizationId); if (organization != null && !organization.ParentIds.IsNullOrEmpty()) { foreach (var parent in organization.ParentIds.Split(',')) { //查找上级 var dicinfo = allOrgs.FirstOrDefault(w => w.OrganizationId.ToString() == parent); if (dicinfo != null) { description += dicinfo.Name + ">"; } } if (!description.IsNullOrEmpty()) { description = description.TrimEnd('>'); } } dto.description = description; allUser.Add(dto); } output.AllUser = allUser; output.HaveUser = haveUser; return(output); }
/// <summary> /// 删除角色信息 /// </summary> /// <param name="input">角色Id</param> /// <returns></returns> public async Task <OperateStatus> DeleteRole(IdInput input) { var operateStatus = new OperateStatus(); //判断是否具有人员 var permissionUsers = await _permissionUserLogic.GetPermissionUsersByPrivilegeMasterAdnPrivilegeMasterValue(EnumPrivilegeMaster.角色, input.Id); if (permissionUsers.Any()) { operateStatus.ResultSign = ResultSign.Error; operateStatus.Message = string.Format(Chs.Error, ResourceSystem.具有人员); return(operateStatus); } //判断是否具有按钮权限 var functionPermissions = await _permissionLogic.GetPermissionByPrivilegeMasterValue( new GetPermissionByPrivilegeMasterValueInput { PrivilegeAccess = EnumPrivilegeAccess.菜单按钮, PrivilegeMasterValue = input.Id, PrivilegeMaster = EnumPrivilegeMaster.角色 }); if (functionPermissions.Any()) { operateStatus.ResultSign = ResultSign.Error; operateStatus.Message = string.Format(Chs.Error, ResourceSystem.具有功能项权限); return(operateStatus); } //判断是否具有菜单权限 var menuPermissions = await _permissionLogic.GetPermissionByPrivilegeMasterValue( new GetPermissionByPrivilegeMasterValueInput { PrivilegeAccess = EnumPrivilegeAccess.菜单, PrivilegeMasterValue = input.Id, PrivilegeMaster = EnumPrivilegeMaster.角色 }); if (menuPermissions.Any()) { operateStatus.ResultSign = ResultSign.Error; operateStatus.Message = string.Format(Chs.Error, ResourceSystem.具有菜单权限); return(operateStatus); } return(await DeleteAsync(input.Id)); }
public async Task <ViewResultBase> ChosenPrivilegeMasterUser(EnumPrivilegeMaster privilegeMaster, Guid privilegeMasterValue) { //获取所有人员信息 IList <SystemChosenUserOutput> chosenUserDtos = (await _userInfoLogic.GetChosenUser()).ToList(); //获取所有的用户 var permissions = await _permissionUserLogic.GetPermissionUsersByPrivilegeMasterAdnPrivilegeMasterValue(privilegeMaster, privilegeMasterValue); foreach (var dto in chosenUserDtos) { var permission = permissions.Where(w => w.PrivilegeMasterUserId == dto.UserId).FirstOrDefault(); dto.Exist = permission != null; } return(View(chosenUserDtos.OrderByDescending(w => w.Exist).ToList())); }
/// <summary> /// 删除组织机构下级数据 /// 删除条件: /// 1:没有下级菜单 /// 2:没有权限数据 /// 3:没有人员 /// </summary> /// <param name="input">组织机构id</param> /// <returns></returns> public async Task <OperateStatus> DeleteOrganization(IdInput input) { var operateStatus = new OperateStatus(); //判断下级菜单 IList <JsTreeEntity> orgs = (await _organizationRepository.GetSystemOrganizationByPid(input)).ToList(); if (orgs.Any()) { operateStatus.ResultSign = ResultSign.Error; operateStatus.Message = ResourceSystem.具有下级项; return(operateStatus); } //判断是否具有人员 var permissionUsers = await _permissionUserLogic.GetPermissionUsersByPrivilegeMasterAdnPrivilegeMasterValue( EnumPrivilegeMaster.组织机构, input.Id); if (permissionUsers.Any()) { operateStatus.ResultSign = ResultSign.Error; operateStatus.Message = ResourceSystem.具有人员; return(operateStatus); } //判断是否有角色 var orgRole = await _roleLogic.GetRolesByOrganizationId(new SystemRolesGetByOrganizationId { Id = input.Id }); if (orgRole.Any()) { operateStatus.ResultSign = ResultSign.Error; operateStatus.Message = ResourceSystem.具有角色; return(operateStatus); } //判断是否有组 var orgGroup = await _groupLogic.GetGroupByOrganizationId(new SystemGroupGetGroupByOrganizationIdInput { Id = input.Id }); if (orgGroup.Any()) { operateStatus.ResultSign = ResultSign.Error; operateStatus.Message = ResourceSystem.具有组; return(operateStatus); } //判断是否有岗位 var orgPost = await _postLogic.GetPostByOrganizationId(new SystemPostGetByOrganizationId { Id = input.Id }); if (orgPost.Any()) { operateStatus.ResultSign = ResultSign.Error; operateStatus.Message = ResourceSystem.具有岗位; return(operateStatus); } //判断是否具有按钮权限 var functionPermissions = await _permissionLogic.GetPermissionByPrivilegeMasterValue( new SystemPermissionByPrivilegeMasterValueInput() { PrivilegeAccess = EnumPrivilegeAccess.菜单按钮, PrivilegeMasterValue = input.Id, PrivilegeMaster = EnumPrivilegeMaster.组织机构 }); if (functionPermissions.Any()) { operateStatus.ResultSign = ResultSign.Error; operateStatus.Message = ResourceSystem.具有功能项权限; return(operateStatus); } //判断是否具有菜单权限 var menuPermissions = await _permissionLogic.GetPermissionByPrivilegeMasterValue( new SystemPermissionByPrivilegeMasterValueInput() { PrivilegeAccess = EnumPrivilegeAccess.菜单, PrivilegeMasterValue = input.Id, PrivilegeMaster = EnumPrivilegeMaster.组织机构 }); if (menuPermissions.Any()) { operateStatus.ResultSign = ResultSign.Error; operateStatus.Message = ResourceSystem.具有菜单权限; return(operateStatus); } //进行删除操作 return(await DeleteAsync(new SystemOrganization() { OrganizationId = input.Id })); }