/// <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()); }
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()); } }
/// <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()); }
public async Task <ApiResult <string> > SaveUserRole([FromBody] SaveUserRoleRequest request) { return(await _userService.SaveUserRoleAsync(request)); }