Exemple #1
0
 /// <summary>
 /// 保存用户与角色关联信息
 /// </summary>
 /// <param name="request"></param>
 /// <returns></returns>
 public async Task <ApiResult <string> > SaveUserRoleAsync(SaveUserRoleRequest request)
 {
     return(await ExecuteResultAsync(async query =>
     {
         var rsp = new ApiResult <string>();
         // 先把已有的权限数据删除
         // 读取关联信息
         var userRoles = await Query <UserRole>()
                         .Where(p => p.UserId == request.UserId)// 只读取操作的
                         .ToListAsync();
         // 如果找到
         if (userRoles.Count > 0)
         {
             // 删除
             RegisterDeleteRange(userRoles);
         }
         var entities = request.RoleIds.Select(groupId => new UserRole
         {
             UserId = request.UserId,
             RoleId = groupId
         }).ToList();
         await RegisterNewRangeAsync(entities);
         // 提交
         var flag = await CommitAsync();
         rsp.Message = flag ? "保存成功" : "保存失败";
         rsp.Success = flag;
         return rsp;
     }));
 }
 /// <summary>
 /// 保存用户角色信息
 /// </summary>
 /// <param name="request"></param>
 /// <returns></returns>
 public async Task <ResponseBase> ProcessAction(SaveUserRoleRequest request)
 {
     if (request.UserRoleId > 0)
     {
         return(await EditUserRole(request));
     }
     return(await AddUserRole(request));
 }
        /// <summary>
        /// 新增角色
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        private async Task <ResponseBase> AddUserRole(SaveUserRoleRequest request)
        {
            var role = new SysUserRole()
            {
                Name           = request.Name,
                Remark         = string.Empty,
                AuthorityValue = GetAuthorityValue(request.Ids)
            };
            await _sysUserRoleBll.AddUserRole(role);

            return(ResponseBase.Success());
        }
Exemple #4
0
 public async Task <ResponseBase> SaveUserRole([FromBody] SaveUserRoleRequest request)
 {
     try
     {
         var action = new SaveUserRoleAction(_sysUserRoleBll);
         return(await action.ProcessAction(request));
     }
     catch (Exception ex)
     {
         Log.Error(request, ex, this.GetType());
         return(ResponseBase.CodeError());
     }
 }
Exemple #5
0
        /// <summary>
        /// 保存用户角色
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public SaveUserRoleResponse SaveUserRole(SaveUserRoleRequest request)
        {
            var response = new SaveUserRoleResponse();

            if (request.Entity == null)
            {
                response.IsSuccess   = false;
                response.MessageCode = "-1";
                response.MessageText = "用户角色不能为空";
                return(response);
            }

            try
            {
                var entity = request.Entity.As <UserRolePo>();

                if (entity.Id == 0)
                {
                    if (_userRoleRepository.Any <UserRolePo>(e => e.IsValid == 1 && e.Name == entity.Name))
                    {
                        response.IsSuccess   = false;
                        response.MessageCode = "-1";
                        response.MessageText = "用户角色不能重复";
                        return(response);
                    }

                    EntityLogger.CreateEntity(entity);
                    entity.Id = _userRoleRepository.InsertReturnIdentity(entity);
                }
                else
                {
                    var entitytemp = _userRoleRepository.FindSingle <UserRolePo>(entity.Id);

                    if (entitytemp == null)
                    {
                        throw new Exception("更新用户角色信息不存在");
                    }

                    EntityLogger.UpdateEntity(entity);
                    _userRoleRepository.UpdateIgnoreColumns(entity, e => new { e.IsValid, e.CreateTime, e.CreateUserId, });
                }
            }
            catch (Exception ex)
            {
                response.IsSuccess   = false;
                response.MessageCode = "-1";
                response.MessageText = ex.ToString();
                LogManager.LogicLogger.ErrorFormat("保存用户角色出错:{0}", new { request, err = ex.ToString() }.ToJson());
            }
            return(response);
        }
        /// <summary>
        /// 编辑角色
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        private async Task <ResponseBase> EditUserRole(SaveUserRoleRequest request)
        {
            var role = await _sysUserRoleBll.GetSysUserRole(request.UserRoleId);

            if (role == null)
            {
                return(new ResponseBase().GetResponseError(StatusCode.UserRole30001, "角色不存在"));
            }
            role.Name           = request.Name;
            role.AuthorityValue = GetAuthorityValue(request.Ids);
            await _sysUserRoleBll.UpdateUserRole(role);

            return(ResponseBase.Success());
        }
Exemple #7
0
 public async Task <ApiResult <string> > SaveUserRole([FromBody] SaveUserRoleRequest request)
 {
     return(await _userService.SaveUserRoleAsync(request));
 }