/// <summary> /// 转换为角色权限实体 /// </summary> /// <param name="dto">角色权限数据传输对象</param> public static RolePermission ToEntity(this RolePermissionDto dto) { if (dto == null) { return(new RolePermission()); } return(dto.MapTo(new RolePermission(dto.Id.ToGuid()))); }
public async Task <long> UpdateRolePermissionAsync(RolePermissionDto rolePermissionDto) { var rolePermission = new RolePermission(); Mapper.Map(rolePermissionDto, rolePermission); var rowsUpdated = await rolePermissionRepository.UpdateRolePermissionAsync(rolePermission, rolePermissionDto.MappingScheme); return(rowsUpdated); }
/// <summary> /// /// </summary> /// <param name="roleId"></param> /// <returns></returns> public async Task <RolePermissionDto> GetRolePermissions(int roleId) { var permisMenus = (await _rolePermissionRepository.GetPermissionByRole(roleId, SysConst.MENU)).ToList(); var permisOperations = (await _rolePermissionRepository.GetPermissionByRole(roleId, SysConst.OPERATION)).ToList(); var result = new RolePermissionDto { PermissionMenuIds = permisMenus.Select(p => p.Id).ToList(), PermissionOperationIds = permisOperations.Select(p => p.Id).ToList() }; return(result); }
/// <summary> /// 转换为角色权限实体 /// </summary> /// <param name="dto">角色权限数据传输对象</param> public static RolePermission ToEntity3(this RolePermissionDto dto) { if (dto == null) { return(new RolePermission()); } return(RolePermissionFactory.Create( rolePermissionId: dto.Id.ToGuid(), roleId: dto.RoleId, permissionId: dto.PermissionId, version: dto.Version )); }
/// <summary> /// 转换为角色权限实体 /// </summary> /// <param name="dto">角色权限数据传输对象</param> public static RolePermission ToEntity2(this RolePermissionDto dto) { if (dto == null) { return(new RolePermission()); } return(new RolePermission(dto.Id.ToGuid()) { RoleId = dto.RoleId, PermissionId = dto.PermissionId, Version = dto.Version, }); }
public async Task <RESTResult> SetPermissionToRoleAsync(Guid currentUserId, RolePermissionDto rolePermissionInfo) { RESTResult result = new RESTResult { Code = RESTStatus.NotData }; if (rolePermissionInfo.RoleId == null) { result.Message = "The role id could not be null"; return(result); } if (rolePermissionInfo.PermissionIds.Contains(null)) { result.Message = "The permision ids could not be null"; return(result); } //TOOD:Get the current role permission var rolePermissions = await _rolePermissionRepository.GetAllListAsync(item => item.RoleId.Equals(rolePermissionInfo.RoleId)); //TODO: remove the exist role permission foreach (var item in rolePermissions) { await _rolePermissionRepository.DeleteAsync(item); } RolePermission rolePermissionEntity; foreach (var permissionId in rolePermissionInfo.PermissionIds) { //TODO: Add new permission; rolePermissionEntity = new RolePermission { RoleId = rolePermissionInfo.RoleId.Value, PermissionId = permissionId.Value, CreateByUserId = currentUserId, CreateTime = DateTime.Now }; await _rolePermissionRepository.InsertAsync(rolePermissionEntity); } result.Code = RESTStatus.Success; result.Message = "Set permission to role successful"; return(result); }
public async Task UpdateRolePermissionAsync(RolePermissionDto dto) { var role = await _dbContent.Roles.FindAsync(dto.Id); if (role == null) { throw new UserOperationException("角色不存在"); } //移除角色旧的权限 var oldClaims = await _dbContent.RoleClaims.Where(b => b.RoleId == dto.Id).ToListAsync(); _dbContent.RoleClaims.RemoveRange(oldClaims); await _dbContent.SaveChangesAsync(); //给角色添加新的用户 var newClaims = dto.Permissions.Select(b => new IdentityRoleClaim <Guid> { RoleId = dto.Id, ClaimType = "permission", ClaimValue = b }).ToList(); await _dbContent.RoleClaims.AddRangeAsync(newClaims); await _dbContent.SaveChangesAsync(); }
public async Task <RolePermissionDto> GetRolePermissionListById(int id) { List <SqlParameter> parms = new List <SqlParameter> { new SqlParameter { ParameterName = UserRoleByIdStoredProcedure.StoredProcedureParameters[0].ToString(), Value = id.AsDbValue() } }; var rolePermissionList = await _tcContext.Set <UserModulePermission>().FromSqlRaw(UserRoleByIdStoredProcedure.Sql, parms.ToArray()).ToListAsync(); var role = _tcContext.Roles.Where(x => x.Id == id).FirstOrDefault(); RolePermissionDto rolePermission = new RolePermissionDto() { RoleId = role.Id, RoleName = role.Description, RolePermissionList = rolePermissionList }; return(rolePermission); }
public async Task <IHttpActionResult> UpdateRolePermission(RolePermissionDto rolePermissionDto) { await rolePermissionManager.UpdateRolePermissionAsync(rolePermissionDto); return(Ok()); }
public async Task <IHttpActionResult> CreateRolePermission(RolePermissionDto rolePermissionDto) { var rolePermissionId = await rolePermissionManager.CreateRolePermissionAsync(rolePermissionDto); return(Ok(rolePermissionId)); }
public override Task <SetRolePermissionResponse> SetRolePermission(SetRolepermissionRequest request, ServerCallContext context) { var result = new SetRolePermissionResponse { IsComplete = true }; var datas = _roleMenu.GetAllList(item => item.RoleId == request.RoleId); if (datas.Count > 0) { _roleMenu.Delete(item => item.RoleId == request.RoleId); } if (request.MenuIds.Count == 0) { return(Task.FromResult(result)); } var models = new List <RolePermissionDto>(); var list = new List <SysRoleMenu>(); request.MenuIds.ToList().ForEach(item => { var model = new RolePermissionDto(); var operateArray = item.Split('_'); if (Convert.ToInt32(operateArray.LastOrDefault()) == 0) { if (models.FirstOrDefault(m => m.MenuId == Convert.ToInt32(operateArray.FirstOrDefault())) != null) { return; } model.MenuId = Convert.ToInt32(operateArray.FirstOrDefault()); models.Add(model); } else { var data = models.FirstOrDefault(m => m.MenuId == Convert.ToInt32(operateArray.FirstOrDefault())); if (data == null) { model.MenuId = Convert.ToInt32(operateArray.FirstOrDefault()); model.Operates.Add(Convert.ToInt32(operateArray.LastOrDefault())); models.Add(model); } else { data.Operates.Add(Convert.ToInt32(operateArray.LastOrDefault())); } } }); models.ForEach(rp => { var menu = _menu.SingleOrDefault(item => item.Id == rp.MenuId); if (menu == null) { return; } var roleMenu = new SysRoleMenu { MenuId = rp.MenuId, RoleId = request.RoleId, Operates = JsonConvert.SerializeObject(menu.ParentId == 0 ? new List <int>() : rp.Operates) }; list.Add(roleMenu); }); if (!_roleMenu.BatchInsert(list)) { result.IsComplete = false; } return(Task.FromResult(result)); }
public async Task <IActionResult> UpdateRolePersmissionAsync([FromBody] RolePermissionDto dto) { await _roleService.UpdateRolePermissionAsync(dto); return(Ok("更新角色权限成功")); }
public bool UpdateRolePermission(RolePermissionDto dto) { return(Unit.UserRepository.UpdateUserAccount(dto.ToModel <ECIT.GIS.Entity.UserAccount>())); }
public ApiReponse <object> SetRolePermission(SetRolePermissionDto input) { var datas = _roleMenu.GetAllList(item => item.RoleId == input.RoleId); if (datas.Count > 0) { _roleMenu.Delete(item => item.RoleId == input.RoleId); } if (input.MenuIds.Count == 0) { return(new ApiReponse <object>("设置成功")); } var models = new List <RolePermissionDto>(); var list = new List <MkoRoleMenu>(); RolePermissionDto model = null; input.MenuIds.ForEach(item => { model = new RolePermissionDto(); var operateArray = item.Split('_'); if (Convert.ToInt32(operateArray.LastOrDefault()) == 0) { if (models.FirstOrDefault(m => m.MenuId == Convert.ToInt32(operateArray.FirstOrDefault())) != null) { return; } model.MenuId = Convert.ToInt32(operateArray.FirstOrDefault()); models.Add(model); } else { var data = models.FirstOrDefault(m => m.MenuId == Convert.ToInt32(operateArray.FirstOrDefault())); if (data == null) { model.MenuId = Convert.ToInt32(operateArray.FirstOrDefault()); model.Operates.Add(Convert.ToInt32(operateArray.LastOrDefault())); models.Add(model); } else { data.Operates.Add(Convert.ToInt32(operateArray.LastOrDefault())); } } }); models.ForEach(dy => { var menu = _menu.SingleOrDefault(item => item.Id == dy.MenuId); if (menu == null) { return; } var roleMenu = new MkoRoleMenu { MenuId = dy.MenuId, RoleId = input.RoleId, Operates = JsonConvert.SerializeObject(menu.ParentId == 0 ? new List <int>() : dy.Operates) }; list.Add(roleMenu); }); var result = _roleMenu.BatchInsert(list); if (!result) { throw new MarukoException("设置失败"); } return(new ApiReponse <object>("设置成功")); }