Пример #1
0
        /// <summary>
        /// 大会グレードの一覧を作成します。
        /// </summary>
        /// <param name="participationClassification">出場区分。</param>
        /// <returns>大会グレードの一覧。</returns>
        private List <SelectListItem> CreateTournamentGrades(ParticipationClassification participationClassification)
        {
            var tournamentGrade = this.GetTournamentGrade(participationClassification);

            return(Enumeration
                   .GetAll <TournamentGrade>()
                   .Select(o => new SelectListItem(o.Name, $"{o.Id}", o.Id == tournamentGrade.Id))
                   .ToList());
        }
Пример #2
0
 /// <summary>
 /// ドロー設定を更新します。
 /// </summary>
 /// <param name="participationClassification">出場区分。</param>
 /// <param name="drawSettings">ドロー設定。</param>
 public void UpdateDrawSettings(ParticipationClassification participationClassification, DrawSettings drawSettings)
 {
     if (participationClassification == ParticipationClassification.Main)
     {
         this.MainDrawSettings.UpdateFromObject(drawSettings);
     }
     else
     {
         this.QualifyingDrawSettings.UpdateFromObject(drawSettings);
     }
 }
Пример #3
0
 /// <summary>
 /// 大会グレードを取得します。
 /// </summary>
 /// <param name="participationClassification">出場区分。</param>
 /// <returns>大会グレード。</returns>
 private TournamentGrade GetTournamentGrade(ParticipationClassification participationClassification)
 {
     if (participationClassification == ParticipationClassification.Main)
     {
         return(DrawTable.MainDrawSettings.TournamentGrade);
     }
     else
     {
         return(DrawTable.QualifyingDrawSettings.TournamentGrade);
     }
 }
Пример #4
0
 /// <summary>
 /// ブロックの新しいインスタンスを生成します。
 /// </summary>
 /// <param name="blockNumber">ブロック番号。</param>
 /// <param name="participationClassification">出場区分。</param>
 /// <param name="gameDate">試合日。</param>
 /// <param name="game">試合一覧。</param>
 /// <param name="drawSettings">ドロー設定。</param>
 public Block(
     BlockNumber blockNumber,
     ParticipationClassification participationClassification,
     GameDate gameDate,
     DrawSettings drawSettings)
 {
     this.BlockNumber = blockNumber;
     this.ParticipationClassification = participationClassification;
     this.GameDate     = gameDate;
     this.Games        = null;
     this.DrawSettings = drawSettings;
 }
Пример #5
0
        /// <summary>
        /// ドロー数の一覧を作成します。
        /// </summary>
        /// <param name="participationClassification">出場区分。</param>
        /// <returns>ドロー数の一覧。</returns>
        private List <SelectListItem> CreateNumberOfDraws(ParticipationClassification participationClassification)
        {
            var numberOfDraws   = this.GetNumberOfDraws(participationClassification);
            var numberOfEntries = this.GetNumberOfEntries(participationClassification);

            return(Enumerable
                   .Range(2, 8)
                   .Select(o => (previousValue: (int)Math.Pow(2, o - 1), currentValue: (int)Math.Pow(2, o)))
                   .Select(o => CreateItem(o.previousValue, o.currentValue))
                   .ToList());

            SelectListItem CreateItem(int previousValue, int currentValue)
            {
                return(new SelectListItem(
                           $"{currentValue}",
                           $"{currentValue}",
                           numberOfDraws.IsConfigured
                        ? numberOfDraws.Value == currentValue
                        : previousValue < numberOfEntries && numberOfEntries <= currentValue));
            }
        }
Пример #6
0
 /// <summary>
 /// 出場者数を取得します。
 /// </summary>
 /// <param name="participationClassification">出場区分。</param>
 /// <returns>出場者数。</returns>
 private int NumberOfEntries(ParticipationClassification participationClassification)
 {
     return(this.EntryDetails
            .Count(o => o.ParticipationClassification == participationClassification));
 }
Пример #7
0
 /// <summary>
 /// ドロー設定を取得します。
 /// </summary>
 /// <param name="participationClassification">出場区分。</param>
 public DrawSettings GetDrawSettings(ParticipationClassification participationClassification)
 {
     return(participationClassification == ParticipationClassification.Main
         ? this.MainDrawSettings
         : this.QualifyingDrawSettings);
 }
Пример #8
0
 /// <summary>
 /// ドロー数を取得します。
 /// </summary>
 /// <param name="participationClassification">出場区分。</param>
 /// <returns>ドロー数。</returns>
 private NumberOfDraws GetNumberOfDraws(ParticipationClassification participationClassification)
 {
     return(participationClassification == ParticipationClassification.Main
         ? DrawTable.MainDrawSettings.NumberOfDraws
         : DrawTable.QualifyingDrawSettings.NumberOfDraws);
 }