public async Task <ActionResult> Post(Reserve reserve)
        {
            // var repository = new InMemory予約Repository();
            // var factory = new 予約IdFactory();
            // var useCase = new UseCase(_repository, factory);

            var request = new 予約Request();

            var かいし = new 開始年月日時分(reserve.start_datetime.Year,
                                  reserve.start_datetime.Month,
                                  reserve.start_datetime.Day,
                                  reserve.start_datetime.Hour,
                                  reserve.start_datetime.Minute);

            var しゅうりょう = new 終了年月日時分(reserve.end_datetime.Year,
                                     reserve.end_datetime.Month,
                                     reserve.end_datetime.Day,
                                     reserve.end_datetime.Hour,
                                     reserve.end_datetime.Minute);

            var 起点日 = DateTime.Now;

            request.りようきかん = new 利用期間(かいし, しゅうりょう);

            // Todo: パラメータ無視している
            request.かいぎさんかよていしゃ = new 会議参加予定者();
            request.よやくしゃ       = new 予約者Id();
            request.かいぎしつ       = new 会議室Id();

            try
            {
                await _useCase.会議室予約するAsync(request, new 予約申請受付日(起点日));
            }
            catch (Exception e) {
                var resp = new HttpResponseMessage(HttpStatusCode.Conflict)
                {
                    //Content = new StringContent(e.InnerException.Message),
                    ReasonPhrase = e.InnerException.Message
                };
                //throw new System.Web.Http.HttpResponseException(resp);
                return(new JsonResult(resp));
            }
            return(new JsonResult(reserve));
        }
Esempio n. 2
0
        public async Task 予約する()
        {
            var repository = new InMemory予約Repository();
            var factory    = new 連番予約IdFactory();
            var useCase    = new UseCase(repository, factory);

            var request = new 予約Request();

            request.よやくしゃ = new 予約者Id();

            var かいし    = new 開始年月日時分(2021, 1, 20, 10, 0);
            var しゅうりょう = new 終了年月日時分(2021, 1, 20, 11, 0);
            var 起点日    = new DateTime(2020, 12, 29);

            request.りようきかん      = new 利用期間(かいし, しゅうりょう);
            request.かいぎさんかよていしゃ = new 会議参加予定者();
            request.かいぎしつ       = new 会議室Id();

            await useCase.会議室予約するAsync(request, new 予約申請受付日(起点日));

            var result = repository.Get(new 予約Id("0"));

            result.IsNotNull();
        }