public async Task <ApiRequestResult> UpdateAsync([FromBody] RightParam param) { try { var tRight = await _iTRightRepository.GetAsync(c => c.Id == param.Id); tRight = param.EntityMap <TRight, RightParam>(tRight); await _iTRightRepository.UpdateAsync(tRight); return(ApiRequestResult.Success("修改成功")); } catch (Exception ex) { return(ApiRequestResult.Error(ex.Message)); } }
public async Task <string> GetUserRightAsync() { //获取当前用户的角色 var user = await _userManager.GetUserAsync(HttpContext.User); //获取当前用户的 角色 var roles = await _iTUserRepository.GetUserRolesAsync(Guid.Parse("A0C2A91A-AB72-4FC2-9CF6-13332A499F6C")); if (roles == null || roles.Count <= 0) { return(ApiRequestResult.Error("用户暂无任何菜单权限").ToString()); } //获取角色菜单 var userRights = new List <TRight>(); foreach (var item in roles) { var roleRights = await _iTRoleRepository.GetRoleRightsAsync(item.RoleId); if (roleRights == null || roleRights.Count <= 0) { continue; } foreach (var roleRight in roleRights) { var right = await _iTRightRepository.GetAsync(c => c.Id == roleRight.RightId); userRights.Add(right); } } var list = userRights.Distinct(new RightComparer()); //父菜单 var parents = list.Where(c => c.ParentId == null); var rightDtos = new List <MenuDto>(); foreach (var parent in parents) { var rightDto = new MenuDto { //Id = parent.Id, Icon = parent.RightIcon, Name = parent.RightName, Title = parent.RightName, Jump = parent.RightUrl, }; //获取子菜单 var subRights = list.Where(c => c.ParentId == parent.Id).Select(c => new MenuDto { //Id = c.Id, Icon = c.RightIcon, Name = c.RightName, Title = c.RightName, Jump = c.RightUrl, }).ToList(); rightDto.List = subRights; rightDtos.Add(rightDto); } return(JsonConvert.SerializeObject( new MenuResult() { Code = 0, Msg = "", Data = rightDtos } )); }