public async Task <IActionResult> OnPost([FromQuery] int year, [FromQuery] int month, [FromQuery] int day) { if (!ModelState.IsValid) { ErrorMessage = "入力に誤りがあります。"; return(PageResult(year, month, day)); } var startTime = LocalTimePattern.Create("HH:mm", CultureInfo.CurrentCulture).Parse(StartTime !); if (!startTime.Success) { ErrorMessage = "入力に誤りがあります。"; return(PageResult(year, month, day)); } var date = new LocalDate(year, month, day); var result = await _service.CreateAppointmentSlotAsync(date.At(startTime.Value), Period.FromMinutes(DurationMinutes !.Value), CountOfSlot !.Value); if (!result.Succeeded) { ErrorMessage = result.ErrorMessage; return(PageResult(year, month, day)); } return(RedirectToPage("Index", new { year, month, day })); }