private readonly コマ数 koma; // e.g. 12コマ public 予約期間(予約年月日 ReservationDate, 予約開始_時 予約開始_時, 予約開始_分 予約開始_分, コマ数 予約コマ数) { //todo: ビジネスルール:10:00-19:00までしか予約が出来ない // 予約開始時刻とコマ数を見て、10:00-19:00までしか予約できないことを確認する var 残コマ数 = コマ数.残コマ数を教えて(予約開始_時, 予約開始_分); if (!(残コマ数 >= 予約コマ数)) { throw new ArgumentException($"{残コマ数}を超えることはできません"); } //todo: // 1. このメソッドの中で、予約開始時刻のDateTimeとコマ数のDateTimeを貰って、 // 計算をして、10:00-19:00以内だよね?ということを確認する // ↑DateTimeをおもらしするのは止めたほうが良さそう。 // // 1-1: Range が終了時刻を判断する (from 予約開始時刻、コマ数) // 予約開始_時と予約開始_分を渡して、残コマ数が取れる。それを比較する。 // 2. ↑の計算を予約開始時刻クラスか、コマ数クラスの中に委譲する? // 2-1: 予約開始時刻が最大コマ数とかをくれる? // 3. ↑もしかしたら、それ専用のクラスを作るか? // 最終手段. コマ数をやめて、予約終了時刻を作るか? this.ReservationDate = ReservationDate; this.予約開始_時 = 予約開始_時; this.予約開始_分 = 予約開始_分; this.koma = 予約コマ数; }
public bool に引数が収まっているか教えて(コマ数 対象) { return(this.Value >= 対象.Value); }