public 予約変更可能ルール(予約申請受付日 予約申請受付日)
        {
            _予約可能期間 = new 予約可能期間(予約申請受付日);

            var start = new 時分(10, 0);
            var end   = new 時分(19, 0);

            会議室オープン時間 = new 開放時間(start, end);
        }
Пример #2
0
        public static 予約 Create(予約Id 予約Id,
                                予約者Id 予約者Id,
                                利用期間.利用期間 利用期間,
                                会議室Id 会議室Id,
                                会議参加予定者 会議参加予定者,
                                予約申請受付日 予約申請受付日)
        {
            new 予約可能ポリシー(予約申請受付日).ポリシー満たさなかったらExeption出す(利用期間);

            return(new 予約(予約Id, 予約者Id, 利用期間, 会議室Id, 会議参加予定者));
        }
Пример #3
0
        public 予約  更する(予約Id 予約Id,
                       予約者Id 予約者Id,
                       利用期間.利用期間 利用期間,
                       会議室Id 会議室Id,
                       会議参加予定者 会議参加予定者,
                       予約申請受付日 予約申請受付日)
        {
            if (!new 予約変更可能ルール.予約変更可能ルール(予約申請受付日).IsSatisfied(りようきかん))
            {
                throw new ルール違反Exception("おまえ、値ちがうんやで2");
            }

            return(new 予約(予約Id, 予約者Id, 利用期間, 会議室Id, 会議参加予定者));
        }
Пример #4
0
        public async Task 会議室予約するAsync(予約Request request, 予約申請受付日 よやくしんせいうけつけび)
        {
            // Todo: 予約Requestという名前がかなりやばい
            try
            {
                var 予約Id = _factory.Create();

                var よやく = 予約.Create(予約Id,
                                    request.よやくしゃ,
                                    request.りようきかん,
                                    request.かいぎしつ,
                                    request.かいぎさんかよていしゃ,
                                    よやくしんせいうけつけび);

                await _repository.Add(よやく);
            }
            catch (ルール違反Exception ex)
            {
                // エラーで返す。
                throw new UseCaseException(ex);
            }

            // 終了
        }