Upload project.
This commit is contained in:
23
ThAmCo.Venues/Data/Availability.cs
Normal file
23
ThAmCo.Venues/Data/Availability.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace ThAmCo.Venues.Data
|
||||
{
|
||||
public class Availability
|
||||
{
|
||||
[DataType(DataType.Date)]
|
||||
public DateTime Date { get; set; }
|
||||
|
||||
public string VenueCode { get; set; }
|
||||
|
||||
[ForeignKey(nameof(VenueCode))]
|
||||
public Venue Venue { get; set; }
|
||||
|
||||
[Range(0.0, Double.MaxValue)]
|
||||
public double CostPerHour { get; set; }
|
||||
|
||||
public Reservation Reservation { get; set; }
|
||||
}
|
||||
}
|
||||
17
ThAmCo.Venues/Data/EventType.cs
Normal file
17
ThAmCo.Venues/Data/EventType.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace ThAmCo.Venues.Data
|
||||
{
|
||||
public class EventType
|
||||
{
|
||||
[MinLength(3), MaxLength(3)]
|
||||
public string Id { get; set; }
|
||||
|
||||
[Required]
|
||||
public string Title { get; set; }
|
||||
|
||||
public List<Suitability> SuitableVenues { get; set; }
|
||||
}
|
||||
}
|
||||
247
ThAmCo.Venues/Data/Migrations/20181028125345_InitialCreate.Designer.cs
generated
Normal file
247
ThAmCo.Venues/Data/Migrations/20181028125345_InitialCreate.Designer.cs
generated
Normal file
@@ -0,0 +1,247 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
using ThAmCo.Venues.Data;
|
||||
|
||||
namespace ThAmCo.Venues.Data.Migrations
|
||||
{
|
||||
[DbContext(typeof(VenuesDbContext))]
|
||||
[Migration("20181028125345_InitialCreate")]
|
||||
partial class InitialCreate
|
||||
{
|
||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasDefaultSchema("thamco.venues")
|
||||
.HasAnnotation("ProductVersion", "2.1.1-rtm-30846")
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 128)
|
||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
||||
|
||||
modelBuilder.Entity("ThAmCo.Venues.Data.Availability", b =>
|
||||
{
|
||||
b.Property<DateTime>("Date");
|
||||
|
||||
b.Property<string>("VenueCode");
|
||||
|
||||
b.Property<double>("CostPerHour");
|
||||
|
||||
b.HasKey("Date", "VenueCode");
|
||||
|
||||
b.HasIndex("VenueCode");
|
||||
|
||||
b.ToTable("Availabilities");
|
||||
|
||||
b.HasData(
|
||||
new { Date = new DateTime(2018, 10, 28, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 51.79 },
|
||||
new { Date = new DateTime(2018, 11, 2, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 46.77 },
|
||||
new { Date = new DateTime(2018, 11, 2, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 72.07 },
|
||||
new { Date = new DateTime(2018, 11, 3, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 57.18 },
|
||||
new { Date = new DateTime(2018, 11, 3, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 91.03 },
|
||||
new { Date = new DateTime(2018, 11, 4, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 61.13 },
|
||||
new { Date = new DateTime(2018, 11, 5, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 139.55 },
|
||||
new { Date = new DateTime(2018, 11, 10, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 96.38 },
|
||||
new { Date = new DateTime(2018, 11, 12, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 92.69 },
|
||||
new { Date = new DateTime(2018, 11, 14, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 59.86 },
|
||||
new { Date = new DateTime(2018, 11, 14, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 95.01 },
|
||||
new { Date = new DateTime(2018, 11, 17, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 57.45 },
|
||||
new { Date = new DateTime(2018, 11, 18, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 55.44 },
|
||||
new { Date = new DateTime(2018, 11, 18, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 79.26 },
|
||||
new { Date = new DateTime(2018, 11, 19, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 80.49 },
|
||||
new { Date = new DateTime(2018, 11, 20, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 97.65 },
|
||||
new { Date = new DateTime(2018, 11, 22, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 57.4 },
|
||||
new { Date = new DateTime(2018, 11, 23, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 58.02 },
|
||||
new { Date = new DateTime(2018, 11, 24, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 50.63 },
|
||||
new { Date = new DateTime(2018, 11, 24, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 78.49 },
|
||||
new { Date = new DateTime(2018, 11, 25, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 94.67 },
|
||||
new { Date = new DateTime(2018, 11, 26, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 32.43 },
|
||||
new { Date = new DateTime(2018, 11, 28, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 68.05 },
|
||||
new { Date = new DateTime(2018, 11, 29, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 92.52 },
|
||||
new { Date = new DateTime(2018, 11, 30, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 53.12 },
|
||||
new { Date = new DateTime(2018, 12, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 49.28 },
|
||||
new { Date = new DateTime(2018, 12, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 104.76 },
|
||||
new { Date = new DateTime(2018, 12, 3, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 30.91 },
|
||||
new { Date = new DateTime(2018, 12, 4, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 99.44 },
|
||||
new { Date = new DateTime(2018, 12, 5, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 69.36 },
|
||||
new { Date = new DateTime(2018, 12, 6, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 76.14 },
|
||||
new { Date = new DateTime(2018, 12, 7, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 64.02 },
|
||||
new { Date = new DateTime(2018, 12, 8, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 51.48 },
|
||||
new { Date = new DateTime(2018, 12, 8, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 112.88 },
|
||||
new { Date = new DateTime(2018, 12, 9, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 109.15 },
|
||||
new { Date = new DateTime(2018, 12, 10, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 115.89 },
|
||||
new { Date = new DateTime(2018, 12, 11, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 64.03 },
|
||||
new { Date = new DateTime(2018, 12, 12, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 53.84 },
|
||||
new { Date = new DateTime(2018, 12, 13, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 40.11 },
|
||||
new { Date = new DateTime(2018, 12, 13, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 92.32 },
|
||||
new { Date = new DateTime(2018, 12, 13, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 76.81 },
|
||||
new { Date = new DateTime(2018, 12, 14, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 43.72 },
|
||||
new { Date = new DateTime(2018, 12, 14, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 80.66 },
|
||||
new { Date = new DateTime(2018, 12, 17, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 42.3 },
|
||||
new { Date = new DateTime(2018, 12, 18, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 51.56 },
|
||||
new { Date = new DateTime(2018, 12, 18, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 87.87 },
|
||||
new { Date = new DateTime(2018, 12, 19, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 48.59 },
|
||||
new { Date = new DateTime(2018, 12, 20, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 84.98 },
|
||||
new { Date = new DateTime(2018, 12, 21, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 35.85 },
|
||||
new { Date = new DateTime(2018, 12, 21, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 80.77 },
|
||||
new { Date = new DateTime(2018, 12, 21, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 83.71 },
|
||||
new { Date = new DateTime(2018, 12, 22, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 91.53 },
|
||||
new { Date = new DateTime(2018, 12, 22, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 132.13 },
|
||||
new { Date = new DateTime(2018, 12, 23, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 104.41 },
|
||||
new { Date = new DateTime(2018, 12, 24, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 114.65 },
|
||||
new { Date = new DateTime(2018, 12, 26, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 50.39 },
|
||||
new { Date = new DateTime(2018, 12, 26, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 95.83 },
|
||||
new { Date = new DateTime(2018, 12, 28, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 62.54 },
|
||||
new { Date = new DateTime(2018, 12, 30, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 78.43 },
|
||||
new { Date = new DateTime(2019, 1, 7, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 77.7 },
|
||||
new { Date = new DateTime(2019, 1, 11, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 33.03 },
|
||||
new { Date = new DateTime(2019, 1, 12, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 110.11 },
|
||||
new { Date = new DateTime(2019, 1, 13, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 77.64 },
|
||||
new { Date = new DateTime(2019, 1, 15, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 130.17 },
|
||||
new { Date = new DateTime(2019, 1, 16, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 35.67 },
|
||||
new { Date = new DateTime(2019, 1, 16, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 101.32 },
|
||||
new { Date = new DateTime(2019, 1, 17, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 53.22 },
|
||||
new { Date = new DateTime(2019, 1, 19, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 74.15 },
|
||||
new { Date = new DateTime(2019, 1, 19, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 102.22 },
|
||||
new { Date = new DateTime(2019, 1, 21, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 44.05 },
|
||||
new { Date = new DateTime(2019, 1, 22, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 99.88 },
|
||||
new { Date = new DateTime(2019, 1, 23, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 115.3 },
|
||||
new { Date = new DateTime(2019, 1, 24, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 53.81 },
|
||||
new { Date = new DateTime(2019, 1, 24, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 72.34 },
|
||||
new { Date = new DateTime(2019, 1, 25, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 52.94 },
|
||||
new { Date = new DateTime(2019, 1, 25, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 112.63 }
|
||||
);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ThAmCo.Venues.Data.EventType", b =>
|
||||
{
|
||||
b.Property<string>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.IsFixedLength(true)
|
||||
.HasMaxLength(3);
|
||||
|
||||
b.Property<string>("Title")
|
||||
.IsRequired();
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("EventTypes");
|
||||
|
||||
b.HasData(
|
||||
new { Id = "CON", Title = "Conference" },
|
||||
new { Id = "MET", Title = "Meeting" },
|
||||
new { Id = "PTY", Title = "Party" },
|
||||
new { Id = "WED", Title = "Wedding" }
|
||||
);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ThAmCo.Venues.Data.Reservation", b =>
|
||||
{
|
||||
b.Property<string>("Reference")
|
||||
.ValueGeneratedOnAdd()
|
||||
.IsFixedLength(true)
|
||||
.HasMaxLength(13);
|
||||
|
||||
b.Property<DateTime>("EventDate");
|
||||
|
||||
b.Property<string>("StaffId")
|
||||
.IsRequired();
|
||||
|
||||
b.Property<string>("VenueCode")
|
||||
.IsRequired();
|
||||
|
||||
b.Property<DateTime>("WhenMade");
|
||||
|
||||
b.HasKey("Reference");
|
||||
|
||||
b.HasIndex("EventDate", "VenueCode")
|
||||
.IsUnique();
|
||||
|
||||
b.ToTable("Reservations");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ThAmCo.Venues.Data.Suitability", b =>
|
||||
{
|
||||
b.Property<string>("EventTypeId");
|
||||
|
||||
b.Property<string>("VenueCode");
|
||||
|
||||
b.HasKey("EventTypeId", "VenueCode");
|
||||
|
||||
b.HasIndex("VenueCode");
|
||||
|
||||
b.ToTable("Suitabilities");
|
||||
|
||||
b.HasData(
|
||||
new { EventTypeId = "WED", VenueCode = "CRKHL" },
|
||||
new { EventTypeId = "CON", VenueCode = "CRKHL" },
|
||||
new { EventTypeId = "PTY", VenueCode = "CRKHL" },
|
||||
new { EventTypeId = "WED", VenueCode = "TNDMR" },
|
||||
new { EventTypeId = "CON", VenueCode = "TNDMR" },
|
||||
new { EventTypeId = "MET", VenueCode = "TNDMR" },
|
||||
new { EventTypeId = "WED", VenueCode = "FDLCK" },
|
||||
new { EventTypeId = "PTY", VenueCode = "FDLCK" }
|
||||
);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ThAmCo.Venues.Data.Venue", b =>
|
||||
{
|
||||
b.Property<string>("Code")
|
||||
.ValueGeneratedOnAdd()
|
||||
.IsFixedLength(true)
|
||||
.HasMaxLength(5);
|
||||
|
||||
b.Property<int>("Capacity");
|
||||
|
||||
b.Property<string>("Description")
|
||||
.IsRequired();
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired();
|
||||
|
||||
b.HasKey("Code");
|
||||
|
||||
b.ToTable("Venues");
|
||||
|
||||
b.HasData(
|
||||
new { Code = "CRKHL", Capacity = 150, Description = "Once the residence of Lord and Lady Crackling, this lavish dwelling remains a prime example of 18th century fine living.", Name = "Crackling Hall" },
|
||||
new { Code = "TNDMR", Capacity = 450, Description = "Refurbished manor house with fully equipped facilities ready to help you have a good time in business or pleasure.", Name = "Tinder Manor" },
|
||||
new { Code = "FDLCK", Capacity = 85, Description = "Rustic pub set in ideallic countryside, the original venue of a notorious local musician and his parrot.", Name = "The Fiddler's Cockatoo" }
|
||||
);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ThAmCo.Venues.Data.Availability", b =>
|
||||
{
|
||||
b.HasOne("ThAmCo.Venues.Data.Venue", "Venue")
|
||||
.WithMany("AvailableDates")
|
||||
.HasForeignKey("VenueCode")
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ThAmCo.Venues.Data.Reservation", b =>
|
||||
{
|
||||
b.HasOne("ThAmCo.Venues.Data.Availability", "Availability")
|
||||
.WithOne("Reservation")
|
||||
.HasForeignKey("ThAmCo.Venues.Data.Reservation", "EventDate", "VenueCode")
|
||||
.OnDelete(DeleteBehavior.Restrict);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ThAmCo.Venues.Data.Suitability", b =>
|
||||
{
|
||||
b.HasOne("ThAmCo.Venues.Data.EventType", "EventType")
|
||||
.WithMany("SuitableVenues")
|
||||
.HasForeignKey("EventTypeId")
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
|
||||
b.HasOne("ThAmCo.Venues.Data.Venue", "Venue")
|
||||
.WithMany("SuitableEventTypes")
|
||||
.HasForeignKey("VenueCode")
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
}
|
||||
278
ThAmCo.Venues/Data/Migrations/20181028125345_InitialCreate.cs
Normal file
278
ThAmCo.Venues/Data/Migrations/20181028125345_InitialCreate.cs
Normal file
@@ -0,0 +1,278 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
namespace ThAmCo.Venues.Data.Migrations
|
||||
{
|
||||
public partial class InitialCreate : Migration
|
||||
{
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.EnsureSchema(
|
||||
name: "thamco.venues");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "EventTypes",
|
||||
schema: "thamco.venues",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<string>(fixedLength: true, maxLength: 3, nullable: false),
|
||||
Title = table.Column<string>(nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_EventTypes", x => x.Id);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Venues",
|
||||
schema: "thamco.venues",
|
||||
columns: table => new
|
||||
{
|
||||
Code = table.Column<string>(fixedLength: true, maxLength: 5, nullable: false),
|
||||
Name = table.Column<string>(nullable: false),
|
||||
Description = table.Column<string>(nullable: false),
|
||||
Capacity = table.Column<int>(nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Venues", x => x.Code);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Availabilities",
|
||||
schema: "thamco.venues",
|
||||
columns: table => new
|
||||
{
|
||||
Date = table.Column<DateTime>(nullable: false),
|
||||
VenueCode = table.Column<string>(nullable: false),
|
||||
CostPerHour = table.Column<double>(nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Availabilities", x => new { x.Date, x.VenueCode });
|
||||
table.ForeignKey(
|
||||
name: "FK_Availabilities_Venues_VenueCode",
|
||||
column: x => x.VenueCode,
|
||||
principalSchema: "thamco.venues",
|
||||
principalTable: "Venues",
|
||||
principalColumn: "Code",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Suitabilities",
|
||||
schema: "thamco.venues",
|
||||
columns: table => new
|
||||
{
|
||||
EventTypeId = table.Column<string>(nullable: false),
|
||||
VenueCode = table.Column<string>(nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Suitabilities", x => new { x.EventTypeId, x.VenueCode });
|
||||
table.ForeignKey(
|
||||
name: "FK_Suitabilities_EventTypes_EventTypeId",
|
||||
column: x => x.EventTypeId,
|
||||
principalSchema: "thamco.venues",
|
||||
principalTable: "EventTypes",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "FK_Suitabilities_Venues_VenueCode",
|
||||
column: x => x.VenueCode,
|
||||
principalSchema: "thamco.venues",
|
||||
principalTable: "Venues",
|
||||
principalColumn: "Code",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Reservations",
|
||||
schema: "thamco.venues",
|
||||
columns: table => new
|
||||
{
|
||||
Reference = table.Column<string>(fixedLength: true, maxLength: 13, nullable: false),
|
||||
EventDate = table.Column<DateTime>(nullable: false),
|
||||
VenueCode = table.Column<string>(nullable: false),
|
||||
WhenMade = table.Column<DateTime>(nullable: false),
|
||||
StaffId = table.Column<string>(nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Reservations", x => x.Reference);
|
||||
table.ForeignKey(
|
||||
name: "FK_Reservations_Availabilities_EventDate_VenueCode",
|
||||
columns: x => new { x.EventDate, x.VenueCode },
|
||||
principalSchema: "thamco.venues",
|
||||
principalTable: "Availabilities",
|
||||
principalColumns: new[] { "Date", "VenueCode" },
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
});
|
||||
|
||||
migrationBuilder.InsertData(
|
||||
schema: "thamco.venues",
|
||||
table: "EventTypes",
|
||||
columns: new[] { "Id", "Title" },
|
||||
values: new object[,]
|
||||
{
|
||||
{ "CON", "Conference" },
|
||||
{ "MET", "Meeting" },
|
||||
{ "PTY", "Party" },
|
||||
{ "WED", "Wedding" }
|
||||
});
|
||||
|
||||
migrationBuilder.InsertData(
|
||||
schema: "thamco.venues",
|
||||
table: "Venues",
|
||||
columns: new[] { "Code", "Capacity", "Description", "Name" },
|
||||
values: new object[,]
|
||||
{
|
||||
{ "CRKHL", 150, "Once the residence of Lord and Lady Crackling, this lavish dwelling remains a prime example of 18th century fine living.", "Crackling Hall" },
|
||||
{ "TNDMR", 450, "Refurbished manor house with fully equipped facilities ready to help you have a good time in business or pleasure.", "Tinder Manor" },
|
||||
{ "FDLCK", 85, "Rustic pub set in ideallic countryside, the original venue of a notorious local musician and his parrot.", "The Fiddler's Cockatoo" }
|
||||
});
|
||||
|
||||
migrationBuilder.InsertData(
|
||||
schema: "thamco.venues",
|
||||
table: "Availabilities",
|
||||
columns: new[] { "Date", "VenueCode", "CostPerHour" },
|
||||
values: new object[,]
|
||||
{
|
||||
{ new DateTime(2018, 11, 3, 0, 0, 0, 0, DateTimeKind.Unspecified), "CRKHL", 91.03 },
|
||||
{ new DateTime(2018, 11, 14, 0, 0, 0, 0, DateTimeKind.Unspecified), "FDLCK", 59.86 },
|
||||
{ new DateTime(2018, 11, 3, 0, 0, 0, 0, DateTimeKind.Unspecified), "FDLCK", 57.18 },
|
||||
{ new DateTime(2018, 11, 2, 0, 0, 0, 0, DateTimeKind.Unspecified), "FDLCK", 46.77 },
|
||||
{ new DateTime(2018, 10, 28, 0, 0, 0, 0, DateTimeKind.Unspecified), "FDLCK", 51.79 },
|
||||
{ new DateTime(2019, 1, 25, 0, 0, 0, 0, DateTimeKind.Unspecified), "TNDMR", 112.63 },
|
||||
{ new DateTime(2019, 1, 23, 0, 0, 0, 0, DateTimeKind.Unspecified), "TNDMR", 115.3 },
|
||||
{ new DateTime(2019, 1, 22, 0, 0, 0, 0, DateTimeKind.Unspecified), "TNDMR", 99.88 },
|
||||
{ new DateTime(2018, 11, 18, 0, 0, 0, 0, DateTimeKind.Unspecified), "FDLCK", 55.44 },
|
||||
{ new DateTime(2019, 1, 19, 0, 0, 0, 0, DateTimeKind.Unspecified), "TNDMR", 102.22 },
|
||||
{ new DateTime(2019, 1, 15, 0, 0, 0, 0, DateTimeKind.Unspecified), "TNDMR", 130.17 },
|
||||
{ new DateTime(2019, 1, 12, 0, 0, 0, 0, DateTimeKind.Unspecified), "TNDMR", 110.11 },
|
||||
{ new DateTime(2019, 1, 7, 0, 0, 0, 0, DateTimeKind.Unspecified), "TNDMR", 77.7 },
|
||||
{ new DateTime(2018, 12, 26, 0, 0, 0, 0, DateTimeKind.Unspecified), "TNDMR", 95.83 },
|
||||
{ new DateTime(2018, 12, 24, 0, 0, 0, 0, DateTimeKind.Unspecified), "TNDMR", 114.65 },
|
||||
{ new DateTime(2018, 12, 23, 0, 0, 0, 0, DateTimeKind.Unspecified), "TNDMR", 104.41 },
|
||||
{ new DateTime(2018, 12, 22, 0, 0, 0, 0, DateTimeKind.Unspecified), "TNDMR", 132.13 },
|
||||
{ new DateTime(2019, 1, 16, 0, 0, 0, 0, DateTimeKind.Unspecified), "TNDMR", 101.32 },
|
||||
{ new DateTime(2018, 12, 21, 0, 0, 0, 0, DateTimeKind.Unspecified), "TNDMR", 83.71 },
|
||||
{ new DateTime(2018, 11, 23, 0, 0, 0, 0, DateTimeKind.Unspecified), "FDLCK", 58.02 },
|
||||
{ new DateTime(2018, 11, 26, 0, 0, 0, 0, DateTimeKind.Unspecified), "FDLCK", 32.43 },
|
||||
{ new DateTime(2019, 1, 25, 0, 0, 0, 0, DateTimeKind.Unspecified), "FDLCK", 52.94 },
|
||||
{ new DateTime(2019, 1, 24, 0, 0, 0, 0, DateTimeKind.Unspecified), "FDLCK", 53.81 },
|
||||
{ new DateTime(2019, 1, 21, 0, 0, 0, 0, DateTimeKind.Unspecified), "FDLCK", 44.05 },
|
||||
{ new DateTime(2019, 1, 16, 0, 0, 0, 0, DateTimeKind.Unspecified), "FDLCK", 35.67 },
|
||||
{ new DateTime(2019, 1, 11, 0, 0, 0, 0, DateTimeKind.Unspecified), "FDLCK", 33.03 },
|
||||
{ new DateTime(2018, 12, 26, 0, 0, 0, 0, DateTimeKind.Unspecified), "FDLCK", 50.39 },
|
||||
{ new DateTime(2018, 12, 21, 0, 0, 0, 0, DateTimeKind.Unspecified), "FDLCK", 35.85 },
|
||||
{ new DateTime(2018, 11, 24, 0, 0, 0, 0, DateTimeKind.Unspecified), "FDLCK", 50.63 },
|
||||
{ new DateTime(2018, 12, 19, 0, 0, 0, 0, DateTimeKind.Unspecified), "FDLCK", 48.59 },
|
||||
{ new DateTime(2018, 12, 17, 0, 0, 0, 0, DateTimeKind.Unspecified), "FDLCK", 42.3 },
|
||||
{ new DateTime(2018, 12, 14, 0, 0, 0, 0, DateTimeKind.Unspecified), "FDLCK", 43.72 },
|
||||
{ new DateTime(2018, 12, 13, 0, 0, 0, 0, DateTimeKind.Unspecified), "FDLCK", 40.11 },
|
||||
{ new DateTime(2018, 12, 12, 0, 0, 0, 0, DateTimeKind.Unspecified), "FDLCK", 53.84 },
|
||||
{ new DateTime(2018, 12, 8, 0, 0, 0, 0, DateTimeKind.Unspecified), "FDLCK", 51.48 },
|
||||
{ new DateTime(2018, 12, 3, 0, 0, 0, 0, DateTimeKind.Unspecified), "FDLCK", 30.91 },
|
||||
{ new DateTime(2018, 12, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), "FDLCK", 49.28 },
|
||||
{ new DateTime(2018, 12, 18, 0, 0, 0, 0, DateTimeKind.Unspecified), "FDLCK", 51.56 },
|
||||
{ new DateTime(2018, 12, 13, 0, 0, 0, 0, DateTimeKind.Unspecified), "TNDMR", 76.81 },
|
||||
{ new DateTime(2018, 12, 18, 0, 0, 0, 0, DateTimeKind.Unspecified), "TNDMR", 87.87 },
|
||||
{ new DateTime(2018, 12, 9, 0, 0, 0, 0, DateTimeKind.Unspecified), "TNDMR", 109.15 },
|
||||
{ new DateTime(2018, 12, 14, 0, 0, 0, 0, DateTimeKind.Unspecified), "CRKHL", 80.66 },
|
||||
{ new DateTime(2018, 12, 13, 0, 0, 0, 0, DateTimeKind.Unspecified), "CRKHL", 92.32 },
|
||||
{ new DateTime(2018, 12, 11, 0, 0, 0, 0, DateTimeKind.Unspecified), "CRKHL", 64.03 },
|
||||
{ new DateTime(2018, 12, 7, 0, 0, 0, 0, DateTimeKind.Unspecified), "CRKHL", 64.02 },
|
||||
{ new DateTime(2018, 12, 6, 0, 0, 0, 0, DateTimeKind.Unspecified), "CRKHL", 76.14 },
|
||||
{ new DateTime(2018, 12, 5, 0, 0, 0, 0, DateTimeKind.Unspecified), "CRKHL", 69.36 },
|
||||
{ new DateTime(2018, 12, 4, 0, 0, 0, 0, DateTimeKind.Unspecified), "CRKHL", 99.44 },
|
||||
{ new DateTime(2018, 11, 30, 0, 0, 0, 0, DateTimeKind.Unspecified), "CRKHL", 53.12 },
|
||||
{ new DateTime(2018, 12, 20, 0, 0, 0, 0, DateTimeKind.Unspecified), "CRKHL", 84.98 },
|
||||
{ new DateTime(2018, 11, 29, 0, 0, 0, 0, DateTimeKind.Unspecified), "CRKHL", 92.52 },
|
||||
{ new DateTime(2018, 11, 24, 0, 0, 0, 0, DateTimeKind.Unspecified), "CRKHL", 78.49 },
|
||||
{ new DateTime(2018, 11, 22, 0, 0, 0, 0, DateTimeKind.Unspecified), "CRKHL", 57.4 },
|
||||
{ new DateTime(2018, 11, 20, 0, 0, 0, 0, DateTimeKind.Unspecified), "CRKHL", 97.65 },
|
||||
{ new DateTime(2018, 11, 19, 0, 0, 0, 0, DateTimeKind.Unspecified), "CRKHL", 80.49 },
|
||||
{ new DateTime(2018, 11, 17, 0, 0, 0, 0, DateTimeKind.Unspecified), "CRKHL", 57.45 },
|
||||
{ new DateTime(2018, 11, 14, 0, 0, 0, 0, DateTimeKind.Unspecified), "CRKHL", 95.01 },
|
||||
{ new DateTime(2018, 11, 10, 0, 0, 0, 0, DateTimeKind.Unspecified), "CRKHL", 96.38 },
|
||||
{ new DateTime(2018, 11, 4, 0, 0, 0, 0, DateTimeKind.Unspecified), "CRKHL", 61.13 },
|
||||
{ new DateTime(2018, 11, 28, 0, 0, 0, 0, DateTimeKind.Unspecified), "CRKHL", 68.05 },
|
||||
{ new DateTime(2018, 12, 21, 0, 0, 0, 0, DateTimeKind.Unspecified), "CRKHL", 80.77 },
|
||||
{ new DateTime(2018, 12, 22, 0, 0, 0, 0, DateTimeKind.Unspecified), "CRKHL", 91.53 },
|
||||
{ new DateTime(2018, 12, 28, 0, 0, 0, 0, DateTimeKind.Unspecified), "CRKHL", 62.54 },
|
||||
{ new DateTime(2018, 12, 30, 0, 0, 0, 0, DateTimeKind.Unspecified), "CRKHL", 78.43 },
|
||||
{ new DateTime(2019, 1, 13, 0, 0, 0, 0, DateTimeKind.Unspecified), "CRKHL", 77.64 },
|
||||
{ new DateTime(2018, 12, 8, 0, 0, 0, 0, DateTimeKind.Unspecified), "TNDMR", 112.88 },
|
||||
{ new DateTime(2018, 12, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), "TNDMR", 104.76 },
|
||||
{ new DateTime(2019, 1, 17, 0, 0, 0, 0, DateTimeKind.Unspecified), "CRKHL", 53.22 },
|
||||
{ new DateTime(2019, 1, 19, 0, 0, 0, 0, DateTimeKind.Unspecified), "CRKHL", 74.15 },
|
||||
{ new DateTime(2019, 1, 24, 0, 0, 0, 0, DateTimeKind.Unspecified), "CRKHL", 72.34 },
|
||||
{ new DateTime(2018, 11, 25, 0, 0, 0, 0, DateTimeKind.Unspecified), "TNDMR", 94.67 },
|
||||
{ new DateTime(2018, 12, 10, 0, 0, 0, 0, DateTimeKind.Unspecified), "TNDMR", 115.89 },
|
||||
{ new DateTime(2018, 11, 18, 0, 0, 0, 0, DateTimeKind.Unspecified), "TNDMR", 79.26 },
|
||||
{ new DateTime(2018, 11, 2, 0, 0, 0, 0, DateTimeKind.Unspecified), "TNDMR", 72.07 },
|
||||
{ new DateTime(2018, 11, 5, 0, 0, 0, 0, DateTimeKind.Unspecified), "TNDMR", 139.55 },
|
||||
{ new DateTime(2018, 11, 12, 0, 0, 0, 0, DateTimeKind.Unspecified), "TNDMR", 92.69 }
|
||||
});
|
||||
|
||||
migrationBuilder.InsertData(
|
||||
schema: "thamco.venues",
|
||||
table: "Suitabilities",
|
||||
columns: new[] { "EventTypeId", "VenueCode" },
|
||||
values: new object[,]
|
||||
{
|
||||
{ "WED", "FDLCK" },
|
||||
{ "CON", "CRKHL" },
|
||||
{ "WED", "CRKHL" },
|
||||
{ "WED", "TNDMR" },
|
||||
{ "CON", "TNDMR" },
|
||||
{ "MET", "TNDMR" },
|
||||
{ "PTY", "CRKHL" },
|
||||
{ "PTY", "FDLCK" }
|
||||
});
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Availabilities_VenueCode",
|
||||
schema: "thamco.venues",
|
||||
table: "Availabilities",
|
||||
column: "VenueCode");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Reservations_EventDate_VenueCode",
|
||||
schema: "thamco.venues",
|
||||
table: "Reservations",
|
||||
columns: new[] { "EventDate", "VenueCode" },
|
||||
unique: true);
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Suitabilities_VenueCode",
|
||||
schema: "thamco.venues",
|
||||
table: "Suitabilities",
|
||||
column: "VenueCode");
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropTable(
|
||||
name: "Reservations",
|
||||
schema: "thamco.venues");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Suitabilities",
|
||||
schema: "thamco.venues");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Availabilities",
|
||||
schema: "thamco.venues");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "EventTypes",
|
||||
schema: "thamco.venues");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Venues",
|
||||
schema: "thamco.venues");
|
||||
}
|
||||
}
|
||||
}
|
||||
245
ThAmCo.Venues/Data/Migrations/VenuesDbContextModelSnapshot.cs
Normal file
245
ThAmCo.Venues/Data/Migrations/VenuesDbContextModelSnapshot.cs
Normal file
@@ -0,0 +1,245 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
using ThAmCo.Venues.Data;
|
||||
|
||||
namespace ThAmCo.Venues.Data.Migrations
|
||||
{
|
||||
[DbContext(typeof(VenuesDbContext))]
|
||||
partial class VenuesDbContextModelSnapshot : ModelSnapshot
|
||||
{
|
||||
protected override void BuildModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasDefaultSchema("thamco.venues")
|
||||
.HasAnnotation("ProductVersion", "2.1.1-rtm-30846")
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 128)
|
||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
||||
|
||||
modelBuilder.Entity("ThAmCo.Venues.Data.Availability", b =>
|
||||
{
|
||||
b.Property<DateTime>("Date");
|
||||
|
||||
b.Property<string>("VenueCode");
|
||||
|
||||
b.Property<double>("CostPerHour");
|
||||
|
||||
b.HasKey("Date", "VenueCode");
|
||||
|
||||
b.HasIndex("VenueCode");
|
||||
|
||||
b.ToTable("Availabilities");
|
||||
|
||||
b.HasData(
|
||||
new { Date = new DateTime(2018, 10, 28, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 51.79 },
|
||||
new { Date = new DateTime(2018, 11, 2, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 46.77 },
|
||||
new { Date = new DateTime(2018, 11, 2, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 72.07 },
|
||||
new { Date = new DateTime(2018, 11, 3, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 57.18 },
|
||||
new { Date = new DateTime(2018, 11, 3, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 91.03 },
|
||||
new { Date = new DateTime(2018, 11, 4, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 61.13 },
|
||||
new { Date = new DateTime(2018, 11, 5, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 139.55 },
|
||||
new { Date = new DateTime(2018, 11, 10, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 96.38 },
|
||||
new { Date = new DateTime(2018, 11, 12, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 92.69 },
|
||||
new { Date = new DateTime(2018, 11, 14, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 59.86 },
|
||||
new { Date = new DateTime(2018, 11, 14, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 95.01 },
|
||||
new { Date = new DateTime(2018, 11, 17, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 57.45 },
|
||||
new { Date = new DateTime(2018, 11, 18, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 55.44 },
|
||||
new { Date = new DateTime(2018, 11, 18, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 79.26 },
|
||||
new { Date = new DateTime(2018, 11, 19, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 80.49 },
|
||||
new { Date = new DateTime(2018, 11, 20, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 97.65 },
|
||||
new { Date = new DateTime(2018, 11, 22, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 57.4 },
|
||||
new { Date = new DateTime(2018, 11, 23, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 58.02 },
|
||||
new { Date = new DateTime(2018, 11, 24, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 50.63 },
|
||||
new { Date = new DateTime(2018, 11, 24, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 78.49 },
|
||||
new { Date = new DateTime(2018, 11, 25, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 94.67 },
|
||||
new { Date = new DateTime(2018, 11, 26, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 32.43 },
|
||||
new { Date = new DateTime(2018, 11, 28, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 68.05 },
|
||||
new { Date = new DateTime(2018, 11, 29, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 92.52 },
|
||||
new { Date = new DateTime(2018, 11, 30, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 53.12 },
|
||||
new { Date = new DateTime(2018, 12, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 49.28 },
|
||||
new { Date = new DateTime(2018, 12, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 104.76 },
|
||||
new { Date = new DateTime(2018, 12, 3, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 30.91 },
|
||||
new { Date = new DateTime(2018, 12, 4, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 99.44 },
|
||||
new { Date = new DateTime(2018, 12, 5, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 69.36 },
|
||||
new { Date = new DateTime(2018, 12, 6, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 76.14 },
|
||||
new { Date = new DateTime(2018, 12, 7, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 64.02 },
|
||||
new { Date = new DateTime(2018, 12, 8, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 51.48 },
|
||||
new { Date = new DateTime(2018, 12, 8, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 112.88 },
|
||||
new { Date = new DateTime(2018, 12, 9, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 109.15 },
|
||||
new { Date = new DateTime(2018, 12, 10, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 115.89 },
|
||||
new { Date = new DateTime(2018, 12, 11, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 64.03 },
|
||||
new { Date = new DateTime(2018, 12, 12, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 53.84 },
|
||||
new { Date = new DateTime(2018, 12, 13, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 40.11 },
|
||||
new { Date = new DateTime(2018, 12, 13, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 92.32 },
|
||||
new { Date = new DateTime(2018, 12, 13, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 76.81 },
|
||||
new { Date = new DateTime(2018, 12, 14, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 43.72 },
|
||||
new { Date = new DateTime(2018, 12, 14, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 80.66 },
|
||||
new { Date = new DateTime(2018, 12, 17, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 42.3 },
|
||||
new { Date = new DateTime(2018, 12, 18, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 51.56 },
|
||||
new { Date = new DateTime(2018, 12, 18, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 87.87 },
|
||||
new { Date = new DateTime(2018, 12, 19, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 48.59 },
|
||||
new { Date = new DateTime(2018, 12, 20, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 84.98 },
|
||||
new { Date = new DateTime(2018, 12, 21, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 35.85 },
|
||||
new { Date = new DateTime(2018, 12, 21, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 80.77 },
|
||||
new { Date = new DateTime(2018, 12, 21, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 83.71 },
|
||||
new { Date = new DateTime(2018, 12, 22, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 91.53 },
|
||||
new { Date = new DateTime(2018, 12, 22, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 132.13 },
|
||||
new { Date = new DateTime(2018, 12, 23, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 104.41 },
|
||||
new { Date = new DateTime(2018, 12, 24, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 114.65 },
|
||||
new { Date = new DateTime(2018, 12, 26, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 50.39 },
|
||||
new { Date = new DateTime(2018, 12, 26, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 95.83 },
|
||||
new { Date = new DateTime(2018, 12, 28, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 62.54 },
|
||||
new { Date = new DateTime(2018, 12, 30, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 78.43 },
|
||||
new { Date = new DateTime(2019, 1, 7, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 77.7 },
|
||||
new { Date = new DateTime(2019, 1, 11, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 33.03 },
|
||||
new { Date = new DateTime(2019, 1, 12, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 110.11 },
|
||||
new { Date = new DateTime(2019, 1, 13, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 77.64 },
|
||||
new { Date = new DateTime(2019, 1, 15, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 130.17 },
|
||||
new { Date = new DateTime(2019, 1, 16, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 35.67 },
|
||||
new { Date = new DateTime(2019, 1, 16, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 101.32 },
|
||||
new { Date = new DateTime(2019, 1, 17, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 53.22 },
|
||||
new { Date = new DateTime(2019, 1, 19, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 74.15 },
|
||||
new { Date = new DateTime(2019, 1, 19, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 102.22 },
|
||||
new { Date = new DateTime(2019, 1, 21, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 44.05 },
|
||||
new { Date = new DateTime(2019, 1, 22, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 99.88 },
|
||||
new { Date = new DateTime(2019, 1, 23, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 115.3 },
|
||||
new { Date = new DateTime(2019, 1, 24, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 53.81 },
|
||||
new { Date = new DateTime(2019, 1, 24, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "CRKHL", CostPerHour = 72.34 },
|
||||
new { Date = new DateTime(2019, 1, 25, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "FDLCK", CostPerHour = 52.94 },
|
||||
new { Date = new DateTime(2019, 1, 25, 0, 0, 0, 0, DateTimeKind.Unspecified), VenueCode = "TNDMR", CostPerHour = 112.63 }
|
||||
);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ThAmCo.Venues.Data.EventType", b =>
|
||||
{
|
||||
b.Property<string>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.IsFixedLength(true)
|
||||
.HasMaxLength(3);
|
||||
|
||||
b.Property<string>("Title")
|
||||
.IsRequired();
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("EventTypes");
|
||||
|
||||
b.HasData(
|
||||
new { Id = "CON", Title = "Conference" },
|
||||
new { Id = "MET", Title = "Meeting" },
|
||||
new { Id = "PTY", Title = "Party" },
|
||||
new { Id = "WED", Title = "Wedding" }
|
||||
);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ThAmCo.Venues.Data.Reservation", b =>
|
||||
{
|
||||
b.Property<string>("Reference")
|
||||
.ValueGeneratedOnAdd()
|
||||
.IsFixedLength(true)
|
||||
.HasMaxLength(13);
|
||||
|
||||
b.Property<DateTime>("EventDate");
|
||||
|
||||
b.Property<string>("StaffId")
|
||||
.IsRequired();
|
||||
|
||||
b.Property<string>("VenueCode")
|
||||
.IsRequired();
|
||||
|
||||
b.Property<DateTime>("WhenMade");
|
||||
|
||||
b.HasKey("Reference");
|
||||
|
||||
b.HasIndex("EventDate", "VenueCode")
|
||||
.IsUnique();
|
||||
|
||||
b.ToTable("Reservations");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ThAmCo.Venues.Data.Suitability", b =>
|
||||
{
|
||||
b.Property<string>("EventTypeId");
|
||||
|
||||
b.Property<string>("VenueCode");
|
||||
|
||||
b.HasKey("EventTypeId", "VenueCode");
|
||||
|
||||
b.HasIndex("VenueCode");
|
||||
|
||||
b.ToTable("Suitabilities");
|
||||
|
||||
b.HasData(
|
||||
new { EventTypeId = "WED", VenueCode = "CRKHL" },
|
||||
new { EventTypeId = "CON", VenueCode = "CRKHL" },
|
||||
new { EventTypeId = "PTY", VenueCode = "CRKHL" },
|
||||
new { EventTypeId = "WED", VenueCode = "TNDMR" },
|
||||
new { EventTypeId = "CON", VenueCode = "TNDMR" },
|
||||
new { EventTypeId = "MET", VenueCode = "TNDMR" },
|
||||
new { EventTypeId = "WED", VenueCode = "FDLCK" },
|
||||
new { EventTypeId = "PTY", VenueCode = "FDLCK" }
|
||||
);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ThAmCo.Venues.Data.Venue", b =>
|
||||
{
|
||||
b.Property<string>("Code")
|
||||
.ValueGeneratedOnAdd()
|
||||
.IsFixedLength(true)
|
||||
.HasMaxLength(5);
|
||||
|
||||
b.Property<int>("Capacity");
|
||||
|
||||
b.Property<string>("Description")
|
||||
.IsRequired();
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired();
|
||||
|
||||
b.HasKey("Code");
|
||||
|
||||
b.ToTable("Venues");
|
||||
|
||||
b.HasData(
|
||||
new { Code = "CRKHL", Capacity = 150, Description = "Once the residence of Lord and Lady Crackling, this lavish dwelling remains a prime example of 18th century fine living.", Name = "Crackling Hall" },
|
||||
new { Code = "TNDMR", Capacity = 450, Description = "Refurbished manor house with fully equipped facilities ready to help you have a good time in business or pleasure.", Name = "Tinder Manor" },
|
||||
new { Code = "FDLCK", Capacity = 85, Description = "Rustic pub set in ideallic countryside, the original venue of a notorious local musician and his parrot.", Name = "The Fiddler's Cockatoo" }
|
||||
);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ThAmCo.Venues.Data.Availability", b =>
|
||||
{
|
||||
b.HasOne("ThAmCo.Venues.Data.Venue", "Venue")
|
||||
.WithMany("AvailableDates")
|
||||
.HasForeignKey("VenueCode")
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ThAmCo.Venues.Data.Reservation", b =>
|
||||
{
|
||||
b.HasOne("ThAmCo.Venues.Data.Availability", "Availability")
|
||||
.WithOne("Reservation")
|
||||
.HasForeignKey("ThAmCo.Venues.Data.Reservation", "EventDate", "VenueCode")
|
||||
.OnDelete(DeleteBehavior.Restrict);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ThAmCo.Venues.Data.Suitability", b =>
|
||||
{
|
||||
b.HasOne("ThAmCo.Venues.Data.EventType", "EventType")
|
||||
.WithMany("SuitableVenues")
|
||||
.HasForeignKey("EventTypeId")
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
|
||||
b.HasOne("ThAmCo.Venues.Data.Venue", "Venue")
|
||||
.WithMany("SuitableEventTypes")
|
||||
.HasForeignKey("VenueCode")
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
}
|
||||
27
ThAmCo.Venues/Data/Reservation.cs
Normal file
27
ThAmCo.Venues/Data/Reservation.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace ThAmCo.Venues.Data
|
||||
{
|
||||
public class Reservation
|
||||
{
|
||||
[Key, MinLength(13), MaxLength(13)]
|
||||
public string Reference { get; set; }
|
||||
|
||||
[DataType(DataType.Date)]
|
||||
public DateTime EventDate { get; set; }
|
||||
|
||||
[Required]
|
||||
public string VenueCode { get; set; }
|
||||
|
||||
[ForeignKey(nameof(EventDate) + ", " + nameof(VenueCode))]
|
||||
public Availability Availability { get; set; }
|
||||
|
||||
public DateTime WhenMade { get; set; }
|
||||
|
||||
[Required]
|
||||
public string StaffId { get; set; }
|
||||
}
|
||||
}
|
||||
18
ThAmCo.Venues/Data/Suitability.cs
Normal file
18
ThAmCo.Venues/Data/Suitability.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ThAmCo.Venues.Data
|
||||
{
|
||||
public class Suitability
|
||||
{
|
||||
public string EventTypeId { get; set; }
|
||||
|
||||
public EventType EventType { get; set; }
|
||||
|
||||
public string VenueCode { get; set; }
|
||||
|
||||
public Venue Venue { get; set; }
|
||||
}
|
||||
}
|
||||
25
ThAmCo.Venues/Data/Venue.cs
Normal file
25
ThAmCo.Venues/Data/Venue.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace ThAmCo.Venues.Data
|
||||
{
|
||||
public class Venue
|
||||
{
|
||||
[Key, MinLength(5), MaxLength(5)]
|
||||
public string Code { get; set; }
|
||||
|
||||
[Required]
|
||||
public string Name { get; set; }
|
||||
|
||||
[Required]
|
||||
public string Description { get; set; }
|
||||
|
||||
[Range(1, Int32.MaxValue)]
|
||||
public int Capacity { get; set; }
|
||||
|
||||
public List<Suitability> SuitableEventTypes { get; set; }
|
||||
|
||||
public List<Availability> AvailableDates { get; set; }
|
||||
}
|
||||
}
|
||||
132
ThAmCo.Venues/Data/VenuesDbContext.cs
Normal file
132
ThAmCo.Venues/Data/VenuesDbContext.cs
Normal file
@@ -0,0 +1,132 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Microsoft.AspNetCore.Hosting;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace ThAmCo.Venues.Data
|
||||
{
|
||||
public class VenuesDbContext : DbContext
|
||||
{
|
||||
public DbSet<EventType> EventTypes { get; set; }
|
||||
public DbSet<Venue> Venues { get; set; }
|
||||
public DbSet<Availability> Availabilities { get; set; }
|
||||
public DbSet<Suitability> Suitabilities { get; set; }
|
||||
public DbSet<Reservation> Reservations { get; set; }
|
||||
|
||||
private readonly IHostingEnvironment _hostEnv;
|
||||
|
||||
public VenuesDbContext(DbContextOptions<VenuesDbContext> options,
|
||||
IHostingEnvironment env) : base(options)
|
||||
{
|
||||
_hostEnv = env;
|
||||
}
|
||||
|
||||
protected override void OnConfiguring(DbContextOptionsBuilder builder)
|
||||
{
|
||||
base.OnConfiguring(builder);
|
||||
}
|
||||
|
||||
protected override void OnModelCreating(ModelBuilder builder)
|
||||
{
|
||||
base.OnModelCreating(builder);
|
||||
|
||||
builder.HasDefaultSchema("thamco.venues");
|
||||
|
||||
builder.Entity<Suitability>()
|
||||
.HasKey(s => new { s.EventTypeId, s.VenueCode });
|
||||
|
||||
builder.Entity<EventType>()
|
||||
.Property(e => e.Id)
|
||||
.IsFixedLength();
|
||||
|
||||
builder.Entity<EventType>()
|
||||
.HasMany(e => e.SuitableVenues)
|
||||
.WithOne(s => s.EventType)
|
||||
.HasForeignKey(s => s.EventTypeId);
|
||||
|
||||
builder.Entity<Venue>()
|
||||
.Property(v => v.Code)
|
||||
.IsFixedLength();
|
||||
|
||||
builder.Entity<Venue>()
|
||||
.HasMany(v => v.SuitableEventTypes)
|
||||
.WithOne(s => s.Venue)
|
||||
.HasForeignKey(s => s.VenueCode);
|
||||
|
||||
builder.Entity<Venue>()
|
||||
.HasMany(v => v.AvailableDates)
|
||||
.WithOne(a => a.Venue)
|
||||
.HasForeignKey(a => a.VenueCode);
|
||||
|
||||
builder.Entity<Availability>()
|
||||
.HasKey(a => new { a.Date, a.VenueCode });
|
||||
|
||||
builder.Entity<Reservation>()
|
||||
.Property(r => r.Reference)
|
||||
.IsFixedLength();
|
||||
|
||||
builder.Entity<Reservation>()
|
||||
.HasOne(r => r.Availability)
|
||||
.WithOne(a => a.Reservation)
|
||||
.IsRequired()
|
||||
// prevent an Availability being deleted if there's a Reservation
|
||||
.OnDelete(DeleteBehavior.Restrict);
|
||||
|
||||
builder.Entity<EventType>()
|
||||
.HasData(
|
||||
new EventType { Id = "CON", Title = "Conference" },
|
||||
new EventType { Id = "MET", Title = "Meeting" },
|
||||
new EventType { Id = "PTY", Title = "Party" },
|
||||
new EventType { Id = "WED", Title = "Wedding" }
|
||||
);
|
||||
|
||||
if (_hostEnv != null && _hostEnv.IsDevelopment())
|
||||
{
|
||||
builder.Entity<Venue>()
|
||||
.HasData(
|
||||
new Venue { Code = "CRKHL", Name = "Crackling Hall", Description = "Once the residence of Lord and Lady Crackling, this lavish dwelling remains a prime example of 18th century fine living.", Capacity = 150 },
|
||||
new Venue { Code = "TNDMR", Name = "Tinder Manor", Description = "Refurbished manor house with fully equipped facilities ready to help you have a good time in business or pleasure.", Capacity = 450 },
|
||||
new Venue { Code = "FDLCK", Name = "The Fiddler's Cockatoo", Description = "Rustic pub set in ideallic countryside, the original venue of a notorious local musician and his parrot.", Capacity = 85 }
|
||||
);
|
||||
|
||||
builder.Entity<Suitability>()
|
||||
.HasData(
|
||||
new Suitability { VenueCode = "CRKHL", EventTypeId = "WED" },
|
||||
new Suitability { VenueCode = "CRKHL", EventTypeId = "CON" },
|
||||
new Suitability { VenueCode = "CRKHL", EventTypeId = "PTY" },
|
||||
new Suitability { VenueCode = "TNDMR", EventTypeId = "WED" },
|
||||
new Suitability { VenueCode = "TNDMR", EventTypeId = "CON" },
|
||||
new Suitability { VenueCode = "TNDMR", EventTypeId = "MET" },
|
||||
new Suitability { VenueCode = "FDLCK", EventTypeId = "WED" },
|
||||
new Suitability { VenueCode = "FDLCK", EventTypeId = "PTY" }
|
||||
);
|
||||
|
||||
var rand = new Random(0);
|
||||
var startDate = new DateTime(2018, 10, 28);
|
||||
var dates = new List<Availability>();
|
||||
var venues = new [] {
|
||||
new { Venue = "FDLCK", Cost = 30.0 },
|
||||
new { Venue = "CRKHL", Cost = 50.0 },
|
||||
new { Venue = "TNDMR", Cost = 70.0 }
|
||||
}.ToList();
|
||||
venues.ForEach(v =>
|
||||
{
|
||||
var more = Enumerable.Range(0, 90)
|
||||
.Select(i => new Availability
|
||||
{
|
||||
VenueCode = v.Venue,
|
||||
Date = startDate.AddDays(i),
|
||||
CostPerHour = Math.Round(v.Cost * (1.0 + rand.NextDouble()), 2)
|
||||
});
|
||||
dates.AddRange(more);
|
||||
});
|
||||
var availabilities = dates.Where(d => rand.NextDouble() < 0.3)
|
||||
.OrderBy(d => d.Date)
|
||||
.ToArray();
|
||||
builder.Entity<Availability>()
|
||||
.HasData(availabilities);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user