示例#1
0
        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));
        }
示例#3
0
        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 想定使用人数()));
        }
示例#5
0
 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 予約済み群(年月日が一致する予約の一覧));
        }
示例#7
0
 public bool この日の予約ですか(予約年月日 予約年月日)
 {
     return(range.じ日ですか(予約年月日));
 }