public static 予約終了日時 予約終了日時をつくる(DateTime input) { var 予約終了年月日 = new 予約年月日(input.Year, input.Month, input.Day); var 予約終了時 = (予約終了_時)Enum.Parse(typeof(予約終了_時), input.Hour.ToString()); var 予約終了分 = (予約_分)Enum.Parse(typeof(予約_分), input.Minute.ToString()); return(new 予約終了日時(予約終了年月日, 予約終了時, 予約終了分)); }
public 予約済み群 この日の予約一覧をください(予約年月日 予約年月日) { var queryWithParameter = QueryBuilder.指定された日の予約一覧を取得するクエリを生成する(予約年月日); var data = DBから予約の一覧を取ってくる(queryWithParameter.template, queryWithParameter.parameter); return(ドメインオブジェクトに変換する(data)); }
public 予約済み群 この日の予約一覧をください(予約年月日 予約年月日) { var sqlConnectionSb = new SQLiteConnectionStringBuilder { DataSource = "reserve.db" }; using (var cn = new SQLiteConnection(sqlConnectionSb.ToString())) { cn.Open(); using (var cmd = new SQLiteCommand(cn)) { cmd.CommandText = "SELECT " + "id," + "room_name, " + "start_datetime, " + "end_datetime " + "FROM reserve " + "WHERE start_datetime >= datetime(@DATETIME1) AND start_datetime <= datetime(@DATETIME2)"; var dt1 = $"{予約年月日.Year.ToString()}-{予約年月日.Month.ToString("00")}-{予約年月日.Day.ToString("00")} 00:00:00.000"; var dt2 = $"{予約年月日.Year.ToString()}-{予約年月日.Month.ToString("00")}-{予約年月日.Day.ToString("00")} 23:59:59.999"; cmd.Parameters.Add(new SQLiteParameter("@DATETIME1", dt1)); cmd.Parameters.Add(new SQLiteParameter("@DATETIME2", dt2)); var reader = cmd.ExecuteReader(); var results = new List <予約済み>(); while (reader.Read()) { var room_name = reader["room_name"].ToString(); // A var start_datetime = reader["start_datetime"].ToString(); var end_datetime = reader["end_datetime"].ToString(); //2020-05-20 12:00 var sdt = DateTime.Parse(start_datetime); var 開始予約年月日 = new 予約年月日(sdt.Year, sdt.Month, sdt.Day); var edt = DateTime.Parse(end_datetime); var 終了予約年月日 = new 予約年月日(edt.Year, edt.Month, edt.Day); var yoyaku = new 予約済み(new MeetingRoom(Enum.Parse <MeetingRoomName>(room_name)), new ReserverId(), new 予約期間(new 予約開始日時(開始予約年月日, (予約開始_時)sdt.Hour, (予約_分)sdt.Minute), new 予約終了日時(終了予約年月日, (予約終了_時)edt.Hour, (予約_分)edt.Minute)), new 想定使用人数()); results.Add(yoyaku); } return(new 予約済み群(results)); } } }
private 予約済み ドメインオブジェクトに変換する(ReserveTableRow row) { var sdt = DateTime.Parse(row.StartDateTime); var 開始予約年月日 = new 予約年月日(sdt.Year, sdt.Month, sdt.Day); var edt = DateTime.Parse(row.EndDateTime); var 終了予約年月日 = new 予約年月日(edt.Year, edt.Month, edt.Day); return(new 予約済み( new MeetingRoom(Enum.Parse <MeetingRoomName>(row.RoomName)), new ReserverId(), new 予約期間( new 予約開始日時(開始予約年月日, (予約開始_時)sdt.Hour, (予約_分)sdt.Minute), new 予約終了日時(終了予約年月日, (予約終了_時)edt.Hour, (予約_分)edt.Minute)), new 想定使用人数())); }
public static (QueryTemplate template, QueryParameter parameter) 指定された日の予約一覧を取得するクエリを生成する(予約年月日 予約年月日) { return(SelectReserveSql, new { DateTimeFrom = $"{予約年月日.Year.ToString()}-{予約年月日.Month.ToString("00")}-{予約年月日.Day.ToString("00")} 00:00:00.000", DateTimeTo = $"{予約年月日.Year.ToString()}-{予約年月日.Month.ToString("00")}-{予約年月日.Day.ToString("00")} 23:59:59.999", }); }
public 予約済み群 この日の予約一覧をください(予約年月日 予約年月日) { var 年月日が一致する予約の一覧 = list.Where(x => x.この日の予約ですか(予約年月日)); return(new 予約済み群(年月日が一致する予約の一覧)); }
public bool この日の予約ですか(予約年月日 予約年月日) { return(range.じ日ですか(予約年月日)); }