コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }