public async Task <IActionResult> Get(string name) { SearchResultViewModel results = new(); if (!string.IsNullOrEmpty(name)) { results.Teams = await _dbContext.CSGOTeams.Where(t => t.Visible && t.TeamName.Contains(name)).ToListAsync(); results.Strategies = await _dbContext.CSGOStrategies.Where(s => s.Visible && s.Title.Contains(name) || s.Description.Contains(name)).ToListAsync(); List <ApplicationUser> activeUsers = await _dbContext.Users.Where(u => u.SearchVisible && u.UserName.Contains(name)).ToListAsync(); foreach (ApplicationUser user in activeUsers) { results.Players.Add(new UserStatsViewModel(user)); } if (!activeUsers.Any(u => u.UserName == name)) { results.SteamUser = await _steamService.GetSteamUserDetails(name); } return(Ok(results)); } return(Ok(results)); }
public async Task <IActionResult> Get(string userid) { UserStatsViewModel user = await _steamService.GetSteamUserDetails(userid); ApplicationUser registered = null; if (user.SteamUser != null) { registered = await _dbContext.Users.Include(u => u.MemberOf).ThenInclude(m => m.Team).FirstOrDefaultAsync(u => u.SteamID == user.SteamUser.steamID64); } if (registered != null) { user.SetUser(registered, _dbContext); } return(Ok(user)); }