Exemplo n.º 1
0
        /// <summary>
        /// エントリー詳細の新しいインスタンスを生成します。
        /// </summary>
        /// <param name="entryNumber">エントリー番号。</param>
        /// <param name="participationClassification">出場区分。</param>
        /// <param name="seedNumber">シード番号。</param>
        /// <param name="entryPlayers">選手情報一覧。</param>
        /// <param name="canParticipationDates">出場可能日一覧。</param>
        /// <param name="receiptStatus">受領状況。</param>
        /// <param name="usageFeatures">利用機能。</param>
        /// <param name="fromQualifying">予選からの進出者かどうか示す値。</param>
        /// <param name="blockNumber">ブロック番号。</param>
        public EntryDetail(
            EntryNumber entryNumber,
            ParticipationClassification participationClassification,
            SeedNumber seedNumber,
            IEnumerable <EntryPlayer> entryPlayers,
            IEnumerable <CanParticipationDate> canParticipationDates,
            ReceiptStatus receiptStatus,
            UsageFeatures usageFeatures,
            bool fromQualifying     = false,
            BlockNumber blockNumber = null)
        {
            this.EntryNumber = entryNumber;
            this.ParticipationClassification = participationClassification;
            this.SeedNumber            = seedNumber;
            this.EntryPlayers          = new EntryPlayers(entryPlayers);
            this.CanParticipationDates = new CanParticipationDates(canParticipationDates);
            this.ReceiptStatus         = receiptStatus;
            this.UsageFeatures         = usageFeatures;
            this.FromQualifying        = fromQualifying;

            if (!this.FromQualifying)
            {
                return;
            }

            this.BlockNumber = blockNumber ?? throw new ArgumentNullException("ブロック番号");
        }
Exemplo n.º 2
0
        /// <summary>
        /// 指定された条件で抽出されたエントリー詳細の一覧を取得します。
        /// </summary>
        /// <param name="participationClassification">出場区分。</param>
        /// <returns>指定された条件で抽出されたエントリー詳細の一覧。</returns>
        public List <EntryDetail> ExtractEntryDetails(ParticipationClassification participationClassification)
        {
            var entryDetail = this.Values
                              .Where(o => o.ParticipationClassification == participationClassification)
                              .OrderBy(o => o.SeedNumber.Value)
                              .ThenBy(o => o.TotalPoint);

            return(entryDetail.ToList());
        }
Exemplo n.º 3
0
        /// <summary>
        /// 指定された条件で抽出されたエントリー詳細の一覧を取得します。
        /// </summary>
        /// <param name="participationClassification">出場区分。</param>
        /// <param name="isSeed">シードフラグ。</param>
        /// <returns>指定された条件で抽出されたエントリー詳細の一覧。</returns>
        public Queue <EntryDetail> ExtractEntryDetailsQueue(ParticipationClassification participationClassification, bool isSeed)
        {
            var entryDetail = this.Values
                              .Where(o => o.ParticipationClassification == participationClassification)
                              .Where(o => o.SeedNumber.IsSeed == isSeed)
                              .OrderBy(o => o.SeedNumber.Value)
                              .ThenBy(o => o.TotalPoint);

            return(new Queue <EntryDetail>(entryDetail));
        }