private ModelGame GetGame(CacheGame game) { return(new ModelGame { Id = game.Id, Time = game.Time, Map = game.Map, TerroristScore = game.TerroristScore, CounterTerroristScore = game.CounterTerroristScore, Outcome = game.Outcome, Terrorists = GetPlayerInfos(game.Terrorists, game), CounterTerrorists = GetPlayerInfos(game.CounterTerrorists, game), Rounds = game.Rounds.Select(round => GetRound(round)).ToList(), }); }
private List <PlayerGameInfo> GetPlayerInfos(List <Player> team, CacheGame game) { var gameKills = game.Rounds.SelectMany(round => round.Kills).ToList(); var playerInfos = team.Select(player => { var playerInfo = new PlayerGameInfo { Name = player.Name, SteamId = player.SteamId, Kills = gameKills.Count(kill => kill.Killer == player), Assists = gameKills.Count(kill => kill.Assistant == player), Deaths = gameKills.Count(kill => kill.Victim == player), }; return(playerInfo); }); playerInfos = playerInfos.OrderByDescending(player => player.Kills); return(playerInfos.ToList()); }