public UserDTO FindUserByID(UserDTO user) { ObjectMapper mapper = new ObjectMapper(); ApplicationUser appUser = _appUserManager.FindById(user.Id); if (appUser != null) { return(mapper.ConvertIdentityUserToDomain(appUser)); } return(null); }
public async Task <Tuple <UserDTO, string[], List <string> > > FindUserRolesPermissions(UserDTO user) { try { var existingUser = await _context.Users.Include(u => u.Roles).Where(u => u.Id == user.Id).FirstOrDefaultAsync(); if (existingUser == null) { return(null); } var userRolesIds = existingUser.Roles.Select(r => r.RoleId).ToList(); var roles = await _context.Roles.Where(r => userRolesIds.Contains(r.Id)).Select(r => r.Name).ToArrayAsync(); var permissionIds = await _context.RolePermissionMaps.Where(r => userRolesIds.Contains(r.RoleId)).Select(p => p.PermissionId).ToArrayAsync(); var permissions = new List <string> { }; for (int i = 0; i < permissionIds.Length; i++) { var permissionId = permissionIds[i]; var permission = _context.Permissions.Where(p => p.Id == permissionId).Select(p => p.Name).FirstOrDefault().ToString(); permissions.Add(permission); } ObjectMapper mapper = new ObjectMapper(); return(Tuple.Create(mapper.ConvertIdentityUserToDomain(existingUser), roles, permissions)); } catch (Exception ex) { throw ex; } }