/// <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("ブロック番号"); }
/// <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()); }
/// <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)); }