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)); }
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(); }