using Application.Domain.Entities; using Infrastructure.Data; using Infrastructure.Web; using System.Collections.Generic; using System.Linq; using System.Security.Claims; namespace IoTNode { public class UserService : IUserService { private readonly IRepository _userRepo; public UserService(IRepository userRepo) { this._userRepo = userRepo; } public List GetOrgans(string userName) { throw new System.NotImplementedException(); } public List GetRoles(string userName, string organId) { var userPermissions = this._userRepo.ReadOnlyTable().Where(o => o.UserName == userName) .SelectMany(o=>o.UserRoles) .Select(o =>o.Role) .SelectMany(o => o.RolePermissions) .Select(o => o.Permission.Number) .Select(o => new Claim(ClaimTypes.Role, o)) .ToList(); return userPermissions; } } }