language: C# (mono-2.8)
date: 353 days 20 hours ago
link:
visibility: public
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
using System;
using System.Linq;
 
public class Test
{
        public static void Main()
        {
var data = new [] {
new { Status = "Confirmed", Hometeam = "Fylkir", Outteam = "Valur", GoalsHometeams = 3, GoalsOutteams = 1 }, 
new { Status = "Confirmed", Hometeam = "Selfoss", Outteam = "Grindavik", GoalsHometeams = 3, GoalsOutteams = 3 }, 
new { Status = "Confirmed", Hometeam = "Keflavik", Outteam = "IBV", GoalsHometeams = 1, GoalsOutteams = 0 }, 
new { Status = "Confirmed", Hometeam = "Stjarnan", Outteam = "IA", GoalsHometeams = 1, GoalsOutteams = 1 }, 
new { Status = "Open", Hometeam = "Selfoss", Outteam = "Grindavik", GoalsHometeams = 3, GoalsOutteams = 3 }, 
new { Status = "Confirmed", Hometeam = "Breioablik", Outteam = "Fram", GoalsHometeams = 0, GoalsOutteams = 2 }, 
new { Status = "Open", Hometeam = "Selfoss", Outteam = "Grindavik", GoalsHometeams = 3, GoalsOutteams = 2 }, 
new { Status = "Open", Hometeam = "Fylkir", Outteam = "Valur", GoalsHometeams = 3, GoalsOutteams = 1 }, 
new { Status = "Open", Hometeam = "Selfoss", Outteam = "Grindavik", GoalsHometeams = 3, GoalsOutteams = 1 }, 
new { Status = "Open", Hometeam = "Keflavik", Outteam = "IBV", GoalsHometeams = 1, GoalsOutteams = 0 }, 
new { Status = "Open", Hometeam = "Fylkir", Outteam = "Valur", GoalsHometeams = 2, GoalsOutteams = 1 }, 
new { Status = "Open", Hometeam = "Breioablik", Outteam = "Fram", GoalsHometeams = 0, GoalsOutteams = 2 }, 
new { Status = "Open", Hometeam = "Selfoss", Outteam = "Grindavik", GoalsHometeams = 2, GoalsOutteams = 1 }, 
new { Status = "Open", Hometeam = "Stjarnan", Outteam = "IA", GoalsHometeams = 1, GoalsOutteams = 1 }, 
new { Status = "Open", Hometeam = "Stjarnan", Outteam = "IA", GoalsHometeams = 1, GoalsOutteams = 1 }, 
new { Status = "Open", Hometeam = "Breioablik", Outteam = "Fram", GoalsHometeams = 0, GoalsOutteams = 2 }, 
new { Status = "Open", Hometeam = "Keflavik", Outteam = "IBV", GoalsHometeams = 1, GoalsOutteams = 0 }, 
new { Status = "Open", Hometeam = "Selfoss", Outteam = "Grindavik", GoalsHometeams = 2, GoalsOutteams = 1 }, 
new { Status = "Open", Hometeam = "Fylkir", Outteam = "Valur", GoalsHometeams = 2, GoalsOutteams = 1 }, 
new { Status = "Open", Hometeam = "Stjarnan", Outteam = "IA", GoalsHometeams = 1, GoalsOutteams = 0 }, 
new { Status = "Open", Hometeam = "Fylkir", Outteam = "Valur", GoalsHometeams = 2, GoalsOutteams = 0 }, 
new { Status = "Open", Hometeam = "Selfoss", Outteam = "Grindavik", GoalsHometeams = 1, GoalsOutteams = 1 }, 
new { Status = "Open", Hometeam = "Breioablik", Outteam = "Fram", GoalsHometeams = 0, GoalsOutteams = 1 }, 
new { Status = "Open", Hometeam = "Selfoss", Outteam = "Grindavik", GoalsHometeams = 1, GoalsOutteams = 0 }, 
new { Status = "Open", Hometeam = "Fylkir", Outteam = "Valur", GoalsHometeams = 1, GoalsOutteams = 0 }, 
new { Status = "Open", Hometeam = "Keflavik", Outteam = "IBV", GoalsHometeams = 0, GoalsOutteams = 0 }, 
new { Status = "Open", Hometeam = "Fylkir", Outteam = "Valur", GoalsHometeams = 0, GoalsOutteams = 0 }, 
new { Status = "Open", Hometeam = "Breioablik", Outteam = "Fram", GoalsHometeams = 0, GoalsOutteams = 0 }, 
new { Status = "Open", Hometeam = "Selfoss", Outteam = "Grindavik", GoalsHometeams = 0, GoalsOutteams = 0 }, 
new { Status = "Open", Hometeam = "Stjarnan", Outteam = "IA", GoalsHometeams = 0, GoalsOutteams = 0 }, 
};
 
var result =
data.GroupBy(d => new { Hometeam = d.Hometeam, Outteam = d.Outteam })
        .Select(g => g.OrderBy(d => d.Status)
                                  .ThenByDescending(d => d.GoalsHometeams + d.GoalsOutteams)
                                  .First());
Console.WriteLine("Current game status results:");
foreach (var entry in result)
        Console.WriteLine(entry.Status + ", " + entry.Hometeam + ", " + entry.Outteam + ", " + entry.GoalsHometeams + ", " + entry.GoalsOutteams);
        }
}