// GET: /<controller>/ public async Task <IActionResult> Index() { var partyList = new List <PartyStatistics>(); int players = 0; var parties = await _cache.GetAsync <Dictionary <string, string> >("ConnectionIndex") ?? new Dictionary <string, string>(); foreach (var partyName in parties.Select(t => t.Value).Distinct().ToList()) { var party = await _cache.GetAsync <PartyModel>($"party:{partyName}"); if (party != null) { PartyStatistics partyStats = new PartyStatistics { }; partyStats.Players = party.Players.Select(t => t.Character.Name).ToList(); partyList.Add(partyStats); players += partyStats.Players.Count; } } var response = new { totalParties = partyList.Count(), totalPlayers = players, Parties = partyList }; return(Ok(response)); }
public async Task <IActionResult> Index() { var partyList = new List <PartyStatistics>(); int players = 0; var connections = await _redisRepository.GetAllConnections(); if (connections != null) { foreach (var connection in connections.GroupBy(t => t.PartyName).ToList()) { if (connection.Key != null) { var party = await _redisRepository.GetParty(connection.Key); if (party != null) { PartyStatistics partyStats = new PartyStatistics { }; partyStats.Players = party.Players.Select(t => t.Character.Name).ToList(); partyList.Add(partyStats); players += partyStats.Players.Count; } } } } var statuses = await _redisRepository.GetAllLeaguesLadders(); if (statuses == null) { statuses = new List <LadderStoreModel>(); } var response = new { totalParties = partyList.Count(), totalPlayers = players, leagues = statuses.Select(t => new { t.Name, t.Running, t.Finished, t.Started }).OrderByDescending(t => t.Finished).Select(x => new { Name = x.Name, Running = x.Running, Started = x.Started.ToString("yyyy-MM-dd HH:mm:ss"), Finished = x.Finished.ToString("yyyy-MM-dd HH:mm:ss") }), parties = partyList, }; return(Ok(response)); }
public async Task <IActionResult> Index() { var partyList = new List <PartyStatistics>(); int players = 0; var parties = ConnectionStore.ConnectionIndex ?? new Dictionary <string, ConnectionModel>(); foreach (var partyName in parties.Select(t => t.Value.PartyName).Distinct().ToList()) { if (partyName != null) { var party = await _cache.GetAsync <PartyModel>($"party:{partyName}"); PartyStatistics partyStats = new PartyStatistics { }; partyStats.Players = party.Players.Select(t => t.Character.Name).ToList(); partyList.Add(partyStats); players += partyStats.Players.Count; } } var statuses = LadderStore.GeAllLadderStatuses(); var response = new { totalParties = partyList.Count(), totalPlayers = players, parties = partyList, leagues = statuses.OrderByDescending(t => t.Value.Finished).Select(x => new { Name = x.Key, Running = x.Value.Running, Started = x.Value.Started.ToString("yyyy-MM-dd HH:mm:ss"), Finished = x.Value.Finished.ToString("yyyy-MM-dd HH:mm:ss") }) }; return(Ok(response)); }