/// <summary>
 /// 更新角色信息
 /// </summary>
 public async Task UpdateRole(EditRoleInput input, int tenantId)
 {
     using (CurrentUnitOfWork.SetTenantId(tenantId))
     {
         await _roleAppService.UpdateRole(input);
     }
 }
        public async Task <ResultDto> AddRole(EditRoleInput input)
        {
            if (input.IsDefault)
            {
                var defaultRole = await _roleRepository.FirstOrDefaultAsync(o => o.IsDefault);

                if (defaultRole != null)
                {
                    return(new ResultDto {
                        Code = 1, Message = "保存失败!已存在默认角色。", Data = null
                    });
                }
            }
            var role = new Role();

            role.Name          = input.Name;
            role.DisplayName   = input.DisplayName;
            role.IsDefault     = input.IsDefault;
            role.CreationTime  = DateTime.Now;
            role.CreatorUserId = AbpSession.UserId;
            role.IsStatic      = false;
            await _roleManager.CreateAsync(role);

            return(new ResultDto {
                Code = 0, Message = "保存成功!", Data = null
            });
        }
Пример #3
0
        /// <summary>
        /// 更新角色信息
        /// </summary>
        public async Task UpdateRole(EditRoleInput input)
        {
            var role = await _roleManager.GetRoleByIdAsync(input.Id);

            role.Name        = input.Name;
            role.DisplayName = input.DisplayName;
            role.IsDefault   = input.IsDefault;
        }
        public async Task <ResultDto> DeleteRole(EditRoleInput input)
        {
            var role = await _roleRepository.FirstOrDefaultAsync(o => o.Id == input.Id);

            if (role == null)
            {
                return(new ResultDto {
                    Code = 1, Message = "保存失败!不存在该角色。", Data = null
                });
            }
            if (role.IsStatic)
            {
                return(new ResultDto {
                    Code = 1, Message = "保存失败!该角色为系统分配角色。", Data = null
                });
            }
            if (role.IsDefault)
            {
                return(new ResultDto {
                    Code = 1, Message = "保存失败!该角色为默认角色。", Data = null
                });
            }
            var queryUser = await _userRoleRepository.GetAllListAsync(m => m.RoleId == input.Id);

            if (queryUser.Count > 0)
            {
                return(new ResultDto {
                    Code = 1, Message = "该角色下有用户,不能删除。", Data = null
                });
            }
            role.DeletionTime  = DateTime.Now;
            role.DeleterUserId = AbpSession.UserId;
            await _roleManager.DeleteAsync(role);

            return(new ResultDto {
                Code = 0, Message = "删除成功!", Data = null
            });
        }
        public async Task <ResultDto> EditRole(EditRoleInput input)
        {
            if (input.IsDefault)
            {
                var defaultRole = await _roleRepository.FirstOrDefaultAsync(o => o.IsDefault);

                if (defaultRole != null && defaultRole.Id != input.Id)
                {
                    return(new ResultDto {
                        Code = 1, Message = "保存失败!已存在默认角色。", Data = null
                    });
                }
            }
            var role = await _roleRepository.FirstOrDefaultAsync(o => o.Id == input.Id);

            if (role == null)
            {
                return(new ResultDto {
                    Code = 1, Message = "保存失败!不存在该角色。", Data = null
                });
            }
            if (role.IsStatic)
            {
                return(new ResultDto {
                    Code = 1, Message = "保存失败!该角色为系统分配角色。", Data = null
                });
            }
            role.Name                 = input.Name;
            role.DisplayName          = input.DisplayName;
            role.IsDefault            = input.IsDefault;
            role.LastModificationTime = DateTime.Now;
            role.LastModifierUserId   = AbpSession.UserId;
            await _roleManager.UpdateAsync(role);

            return(new ResultDto {
                Code = 0, Message = "保存成功!", Data = null
            });
        }