using System.Collections.Generic;
public static void Main()
ITeamRepository teamRepository = new TeamRepository();
foreach(var t in teamRepository.GetTeams()){
Console.WriteLine(t.Name + ", " + t.Location);
foreach(var t in teamRepository.GetTeams()){
Console.WriteLine(t.Location + " " + t.Name);
foreach(var p in t.Players){
Console.WriteLine("\t" + p.FirstName + " " + p.LastName);
foreach(var t in teamRepository.GetTeams()){
Console.WriteLine(t.Location + " " + t.Name);
var oldest = new List<Player>() {t.Players[0]};
foreach(var p in t.Players){
if(p.Age > oldest[0].Age)
oldest = new List<Player>() {p};
else if (p.Age == oldest[0].Age && oldest[0].Id != p.Id)
foreach(var p in oldest){
Console.WriteLine("\t" + p.FirstName + " " + p.LastName);
interface ITeamRepository {
class TeamRepository : ITeamRepository {
public TeamRepository() {
Players = new List<Player>(){
Players = new List<Player>(){
Players = new List<Player>(){
public List<Team> GetTeams() {
return _table.QueryTeams();
public Team GetTeam(int Id) {
return this.GetTeams().Find(x => x.Id == Id);
private readonly List<Team> _teams;
this._teams = new List<Team>();
public void AddTeam(Team team)
public List<Team> QueryTeams() {
public List<Player> Players { get;set; }
public string Name {get;set;}
public string Location {get;set;}
public string FirstName {get;set;}
public string LastName {get;set;}
public int Age {get;set;}