Мне нужно отсортировать футбольные таблицы. Моя проблема в том, как сортировать в правильном порядке.
SortOrder:
- Очки DESC
- Аппроксимационный матч
- Разница мячей DESC
- Забитых голов DESC
- Голы против
Входной сигнал:
TeamName - Очки - Забитые голы - GoalsAgainst
- Команда 1 - 1 - 4 - 7
- Команда 2 - 5 - 8 - 6
- Команда 3 - 1 - 2 - 10
- Команда 4 - 8 - 12 - 5
- Команда 5 - 5 - 7 - 4
...
Матч № 4 - Команда 5 - Команда 2 - 1-2
Матч № 7 - Команда 1 - Команда 3 - 3-3
...
Выход:
TeamName - Очки - Забитые голы - GoalsAgainst
- Команда 4 - 8 - 12 - 5
- Команда 2 - 5 - 8 - 6
- Команда 5 - 5 - 7 - 4
- Команда 1 - 1 - 4 - 7
- Команда 3 - 1 - 2 - 10
Поскольку команда 2 выиграла у команды 5, они оказались на втором месте.
Поскольку команда 1 сыграет вничью с командой 3, они окажутся на 4-м месте с лучшей разницей голов.
public class Standing
{
public Team Team { get; set; }
public int? MatchesPlayed { get; set; }
public int? GoalsScored { get; set; }
public int? GoalsAgainst { get; set; }
public int? Points { get; set; }
}
public class Match
{
public int MatchID { get; set; }
public DateTime? PlayTime { get; set; }
public Team HomeTeam { get; set; }
public Team AwayTeam { get; set; }
public int? HomeScore { get; set; }
public int? AwayScore { get; set; }
}
public class Pool
{
public int PoolID { get; set; }
public string PoolName { get; set; }
public DateTime? StartTime { get; set; }
public List<Team> Teams { get; set; }
public List<Match> Matches { get; set; }
public List<Standing> Standings { get; set; }
}