public NationalLeagueSeason CreateEuroLeague(IEnumerable<Team> championsLeagueClubs, IEnumerable<Team> europaLeagueClubs) { var league = new NationalLeague(world, "European Cups"); var championsLeague = new League(league, "Champions League", 1, DayOfWeek.Wednesday, 2, hasReturnRound: false); championsLeague.AutomaticRelegationCount = 2; championsLeague.ConditionalRelegationCount = 2; league.AddDivision(championsLeague); var europaCup = new Cup(league, "Europa League", 2, DayOfWeek.Thursday, 2, new List<CupStage> { new GroupStage(groupCount: 4, groupTeamCount: 4, groupPromotedCount: 2, isNeutralGround: false, hasReturnRound: true), new TieKnockoutStage(4), new TieKnockoutStage(2) }); league.AddDivision(europaCup); league.PlayOffs = new LeaguePlayOffs(league, "European Play-Offs", DayOfWeek.Wednesday); DateTime startDate = new DateTime(world.StartYear, 08, 21); DateTime endDate = new DateTime(world.StartYear + 1, 05, 16); var leagueSeason = new NationalLeagueSeason(league, startDate, endDate); leagueSeason.AddDivisionSeason(new LeagueSeason((League)league.Divisions[0], startDate, endDate, championsLeagueClubs)); leagueSeason.AddDivisionSeason(new CupSeason((Cup)league.Divisions[1], startDate, endDate, europaLeagueClubs)); return leagueSeason; }
public LeagueSeason(League league, DateTime startDate, DateTime endDate, IEnumerable<Team> teams) : base(league, startDate, endDate, teams) { DayOfWeek = League.DayOfWeek; Frequency = League.Frequency; HasReturnRound = League.HasReturnRound; TeamStats = teams.Select(t => new TeamStats(t)).ToList(); }
public int CreateDivision(int leagueId, string name, int level, DateTime startDate, DateTime endDate, DayOfWeek dayOfWeek, int frequency, IEnumerable<int> teamIds) { NationalLeague league = Context.NationalLeagues.Find(leagueId); NationalLeagueSeason leagueSeason = Context.NationalLeagueSeasons.First(s => s.CompetitionId == leagueId && s.IsActive); var teams = teamIds.Select(id => Context.Teams.Find(id)).ToArray(); var division = new League(league, name, level, dayOfWeek, frequency); var divisionSeason = new LeagueSeason(division, startDate, endDate, teams); leagueSeason.AddDivisionSeason(divisionSeason); Context.SaveChanges(); return division.Id; }