コード例 #1
0
ファイル: GroupStage.cs プロジェクト: MilenPavlov/EuroManager
        private static int CalculateTotalRoundCount(int groupTeamCount, bool hasReturnRound)
        {
            var scheduler = new Scheduler();
            int roundCount = scheduler.CalculateRoundCount(groupTeamCount);

            return hasReturnRound ? 2 * roundCount : roundCount;
        }
コード例 #2
0
        public override void ScheduleFixtures(Action<Fixture> addFixture)
        {
            if (Phase == TournamentPhase.NotStarted)
            {
                var scheduler = new Scheduler();
                var fixtures = scheduler.ScheduleLeagueFixtures(this, Teams, StartDate, EndDate, DayOfWeek, Frequency, HasReturnRound);

                foreach (var fixture in fixtures)
                {
                    addFixture(fixture);
                }

                Phase = TournamentPhase.InProgress;
                NextSchedulingDate = null;
            }
        }
コード例 #3
0
ファイル: CupSeason.cs プロジェクト: MilenPavlov/EuroManager
        private void ScheduleRoundDates()
        {
            var scheduler = new Scheduler();
            var roundDates = scheduler.ScheduleRoundDates(StartDate, EndDate, DayOfWeek, Frequency,
                StagesOrdered.Select(s => s.RoundCount).ToArray());

            int roundCount = 0;

            foreach (var stage in StagesOrdered)
            {
                var stageDates = roundDates.Skip(roundCount).Take(stage.RoundCount).ToArray();
                stage.ScheduleRoundDates(stageDates);

                roundCount += stage.RoundCount;
            }
        }
コード例 #4
0
ファイル: GroupStats.cs プロジェクト: MilenPavlov/EuroManager
 public IEnumerable<Fixture> CreateFixtures(TournamentSeason season, IEnumerable<DateTime> dates)
 {
     var scheduler = new Scheduler();
     return scheduler.ScheduleLeagueFixtures(season, dates, HasReturnRound, Teams);
 }