From ded577a8ebe5b21249dbc717dc12bc712456267e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D1=8F=D1=87=D0=B5=D1=81=D0=BB=D0=B0=D0=B2=20=D0=98?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=BE=D0=B2?= Date: Sat, 23 Mar 2024 14:26:44 +0400 Subject: [PATCH] =?UTF-8?q?=D0=9C=D0=B8=D0=B3=D1=80=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20240323102434_Hotel.Designer.cs | 591 ++++++++++++++++++ .../Migrations/20240323102434_Hotel.cs | 420 +++++++++++++ .../Migrations/HotelDataBaseModelSnapshot.cs | 588 +++++++++++++++++ 3 files changed, 1599 insertions(+) create mode 100644 Hotel/HotelDataBaseImplement/Migrations/20240323102434_Hotel.Designer.cs create mode 100644 Hotel/HotelDataBaseImplement/Migrations/20240323102434_Hotel.cs create mode 100644 Hotel/HotelDataBaseImplement/Migrations/HotelDataBaseModelSnapshot.cs diff --git a/Hotel/HotelDataBaseImplement/Migrations/20240323102434_Hotel.Designer.cs b/Hotel/HotelDataBaseImplement/Migrations/20240323102434_Hotel.Designer.cs new file mode 100644 index 0000000..4561248 --- /dev/null +++ b/Hotel/HotelDataBaseImplement/Migrations/20240323102434_Hotel.Designer.cs @@ -0,0 +1,591 @@ +// +using System; +using HotelDataBaseImplement; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace HotelDataBaseImplement.Migrations +{ + [DbContext(typeof(HotelDataBase))] + [Migration("20240323102434_Hotel")] + partial class Hotel + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "7.0.3") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Conference", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ConferenceName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("OrganiserId") + .HasColumnType("int"); + + b.Property("StartDate") + .HasColumnType("datetime2"); + + b.HasKey("Id"); + + b.HasIndex("OrganiserId"); + + b.ToTable("Conferences"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBooking", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("BookingDate") + .HasColumnType("datetime2"); + + b.Property("ConferenceId") + .HasColumnType("int"); + + b.Property("HeadwaiterId") + .HasColumnType("int"); + + b.Property("NameHall") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("ConferenceId"); + + b.HasIndex("HeadwaiterId"); + + b.ToTable("ConferenceBookings"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBookingLunch", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ConferenceBookingId") + .HasColumnType("int"); + + b.Property("LunchId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("ConferenceBookingId"); + + b.HasIndex("LunchId"); + + b.ToTable("ConferenceBookingLunches"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceMember", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ConferenceId") + .HasColumnType("int"); + + b.Property("MemberId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("ConferenceId"); + + b.HasIndex("MemberId"); + + b.ToTable("ConferenceMembers"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Headwaiter", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("HeadwaiterEmail") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("HeadwaiterLogin") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("HeadwaiterName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("HeadwaiterPassword") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("HeadwaiterPatronymic") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("HeadwaiterPhoneNumber") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("HeadwaiterSurname") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("Headwaiters"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Lunch", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("HeadwaiterId") + .HasColumnType("int"); + + b.Property("LunchName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("LunchPrice") + .HasColumnType("float"); + + b.HasKey("Id"); + + b.HasIndex("HeadwaiterId"); + + b.ToTable("Lunches"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlan", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("MealPlanName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("MealPlanPrice") + .HasColumnType("float"); + + b.Property("OrganiserId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("OrganiserId"); + + b.ToTable("MealPlans"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlanMember", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("MealPlanId") + .HasColumnType("int"); + + b.Property("MemberId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("MealPlanId"); + + b.HasIndex("MemberId"); + + b.ToTable("MealPlanMembers"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Member", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("MemberName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("MemberPatronymic") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("MemberPhoneNumber") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("MemberSurname") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("OrganiserId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("OrganiserId"); + + b.ToTable("Members"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Organiser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("OrganiserEmail") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("OrganiserLogin") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("OrganiserName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("OrganiserPassword") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("OrganiserPatronymic") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("OrganiserPhoneNumber") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("OrganiserSurname") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("Organisers"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Room", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("HeadwaiterId") + .HasColumnType("int"); + + b.Property("MealPlanId") + .HasColumnType("int"); + + b.Property("RoomFrame") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("RoomName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("RoomPrice") + .HasColumnType("float"); + + b.HasKey("Id"); + + b.HasIndex("HeadwaiterId"); + + b.HasIndex("MealPlanId"); + + b.ToTable("Rooms"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.RoomLunch", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("LunchId") + .HasColumnType("int"); + + b.Property("RoomId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("LunchId"); + + b.HasIndex("RoomId"); + + b.ToTable("RoomLunches"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Conference", b => + { + b.HasOne("HotelDataBaseImplement.Models.Organiser", "Organiser") + .WithMany("Conferences") + .HasForeignKey("OrganiserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organiser"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBooking", b => + { + b.HasOne("HotelDataBaseImplement.Models.Conference", "Conference") + .WithMany("ConferenceBookings") + .HasForeignKey("ConferenceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("HotelDataBaseImplement.Models.Headwaiter", "Headwaiter") + .WithMany("ConferenceBookings") + .HasForeignKey("HeadwaiterId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Conference"); + + b.Navigation("Headwaiter"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBookingLunch", b => + { + b.HasOne("HotelDataBaseImplement.Models.ConferenceBooking", "ConferenceBooking") + .WithMany("Lunches") + .HasForeignKey("ConferenceBookingId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("HotelDataBaseImplement.Models.Lunch", "Lunch") + .WithMany("ConferenceBookingLunch") + .HasForeignKey("LunchId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ConferenceBooking"); + + b.Navigation("Lunch"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceMember", b => + { + b.HasOne("HotelDataBaseImplement.Models.Conference", "Conference") + .WithMany("Members") + .HasForeignKey("ConferenceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("HotelDataBaseImplement.Models.Member", "Member") + .WithMany("ConferenceMembers") + .HasForeignKey("MemberId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Conference"); + + b.Navigation("Member"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Lunch", b => + { + b.HasOne("HotelDataBaseImplement.Models.Headwaiter", "Headwaiter") + .WithMany("Lunches") + .HasForeignKey("HeadwaiterId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Headwaiter"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlan", b => + { + b.HasOne("HotelDataBaseImplement.Models.Organiser", "Organiser") + .WithMany("MealPlans") + .HasForeignKey("OrganiserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organiser"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlanMember", b => + { + b.HasOne("HotelDataBaseImplement.Models.MealPlan", "MealPlan") + .WithMany("Members") + .HasForeignKey("MealPlanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("HotelDataBaseImplement.Models.Member", "Member") + .WithMany("MealPlanMember") + .HasForeignKey("MemberId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("MealPlan"); + + b.Navigation("Member"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Member", b => + { + b.HasOne("HotelDataBaseImplement.Models.Organiser", "Organiser") + .WithMany("Members") + .HasForeignKey("OrganiserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organiser"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Room", b => + { + b.HasOne("HotelDataBaseImplement.Models.Headwaiter", "Headwaiter") + .WithMany("Rooms") + .HasForeignKey("HeadwaiterId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("HotelDataBaseImplement.Models.MealPlan", "MealPlan") + .WithMany("Rooms") + .HasForeignKey("MealPlanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Headwaiter"); + + b.Navigation("MealPlan"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.RoomLunch", b => + { + b.HasOne("HotelDataBaseImplement.Models.Lunch", "Lunch") + .WithMany("RoomLunches") + .HasForeignKey("LunchId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("HotelDataBaseImplement.Models.Room", "Room") + .WithMany("Lunches") + .HasForeignKey("RoomId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Lunch"); + + b.Navigation("Room"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Conference", b => + { + b.Navigation("ConferenceBookings"); + + b.Navigation("Members"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBooking", b => + { + b.Navigation("Lunches"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Headwaiter", b => + { + b.Navigation("ConferenceBookings"); + + b.Navigation("Lunches"); + + b.Navigation("Rooms"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Lunch", b => + { + b.Navigation("ConferenceBookingLunch"); + + b.Navigation("RoomLunches"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlan", b => + { + b.Navigation("Members"); + + b.Navigation("Rooms"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Member", b => + { + b.Navigation("ConferenceMembers"); + + b.Navigation("MealPlanMember"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Organiser", b => + { + b.Navigation("Conferences"); + + b.Navigation("MealPlans"); + + b.Navigation("Members"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Room", b => + { + b.Navigation("Lunches"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Hotel/HotelDataBaseImplement/Migrations/20240323102434_Hotel.cs b/Hotel/HotelDataBaseImplement/Migrations/20240323102434_Hotel.cs new file mode 100644 index 0000000..b9b797b --- /dev/null +++ b/Hotel/HotelDataBaseImplement/Migrations/20240323102434_Hotel.cs @@ -0,0 +1,420 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace HotelDataBaseImplement.Migrations +{ + /// + public partial class Hotel : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "Headwaiters", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + HeadwaiterSurname = table.Column(type: "nvarchar(max)", nullable: false), + HeadwaiterName = table.Column(type: "nvarchar(max)", nullable: false), + HeadwaiterPatronymic = table.Column(type: "nvarchar(max)", nullable: false), + HeadwaiterLogin = table.Column(type: "nvarchar(max)", nullable: false), + HeadwaiterPassword = table.Column(type: "nvarchar(max)", nullable: false), + HeadwaiterEmail = table.Column(type: "nvarchar(max)", nullable: false), + HeadwaiterPhoneNumber = table.Column(type: "nvarchar(max)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Headwaiters", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "Organisers", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + OrganiserSurname = table.Column(type: "nvarchar(max)", nullable: false), + OrganiserName = table.Column(type: "nvarchar(max)", nullable: false), + OrganiserPatronymic = table.Column(type: "nvarchar(max)", nullable: false), + OrganiserLogin = table.Column(type: "nvarchar(max)", nullable: false), + OrganiserPassword = table.Column(type: "nvarchar(max)", nullable: false), + OrganiserEmail = table.Column(type: "nvarchar(max)", nullable: false), + OrganiserPhoneNumber = table.Column(type: "nvarchar(max)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Organisers", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "Lunches", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + HeadwaiterId = table.Column(type: "int", nullable: false), + LunchName = table.Column(type: "nvarchar(max)", nullable: false), + LunchPrice = table.Column(type: "float", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Lunches", x => x.Id); + table.ForeignKey( + name: "FK_Lunches_Headwaiters_HeadwaiterId", + column: x => x.HeadwaiterId, + principalTable: "Headwaiters", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "Conferences", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + ConferenceName = table.Column(type: "nvarchar(max)", nullable: false), + StartDate = table.Column(type: "datetime2", nullable: false), + OrganiserId = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Conferences", x => x.Id); + table.ForeignKey( + name: "FK_Conferences_Organisers_OrganiserId", + column: x => x.OrganiserId, + principalTable: "Organisers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "MealPlans", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + MealPlanName = table.Column(type: "nvarchar(max)", nullable: false), + MealPlanPrice = table.Column(type: "float", nullable: false), + OrganiserId = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_MealPlans", x => x.Id); + table.ForeignKey( + name: "FK_MealPlans_Organisers_OrganiserId", + column: x => x.OrganiserId, + principalTable: "Organisers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "Members", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + MemberSurname = table.Column(type: "nvarchar(max)", nullable: false), + MemberName = table.Column(type: "nvarchar(max)", nullable: false), + MemberPatronymic = table.Column(type: "nvarchar(max)", nullable: false), + MemberPhoneNumber = table.Column(type: "nvarchar(max)", nullable: false), + OrganiserId = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Members", x => x.Id); + table.ForeignKey( + name: "FK_Members_Organisers_OrganiserId", + column: x => x.OrganiserId, + principalTable: "Organisers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "ConferenceBookings", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + ConferenceId = table.Column(type: "int", nullable: false), + HeadwaiterId = table.Column(type: "int", nullable: false), + NameHall = table.Column(type: "nvarchar(max)", nullable: false), + BookingDate = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_ConferenceBookings", x => x.Id); + table.ForeignKey( + name: "FK_ConferenceBookings_Conferences_ConferenceId", + column: x => x.ConferenceId, + principalTable: "Conferences", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_ConferenceBookings_Headwaiters_HeadwaiterId", + column: x => x.HeadwaiterId, + principalTable: "Headwaiters", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "Rooms", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + RoomName = table.Column(type: "nvarchar(max)", nullable: false), + RoomFrame = table.Column(type: "nvarchar(max)", nullable: false), + RoomPrice = table.Column(type: "float", nullable: false), + MealPlanId = table.Column(type: "int", nullable: false), + HeadwaiterId = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Rooms", x => x.Id); + table.ForeignKey( + name: "FK_Rooms_Headwaiters_HeadwaiterId", + column: x => x.HeadwaiterId, + principalTable: "Headwaiters", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_Rooms_MealPlans_MealPlanId", + column: x => x.MealPlanId, + principalTable: "MealPlans", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "ConferenceMembers", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + MemberId = table.Column(type: "int", nullable: false), + ConferenceId = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_ConferenceMembers", x => x.Id); + table.ForeignKey( + name: "FK_ConferenceMembers_Conferences_ConferenceId", + column: x => x.ConferenceId, + principalTable: "Conferences", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_ConferenceMembers_Members_MemberId", + column: x => x.MemberId, + principalTable: "Members", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "MealPlanMembers", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + MemberId = table.Column(type: "int", nullable: false), + MealPlanId = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_MealPlanMembers", x => x.Id); + table.ForeignKey( + name: "FK_MealPlanMembers_MealPlans_MealPlanId", + column: x => x.MealPlanId, + principalTable: "MealPlans", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_MealPlanMembers_Members_MemberId", + column: x => x.MemberId, + principalTable: "Members", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "ConferenceBookingLunches", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + ConferenceBookingId = table.Column(type: "int", nullable: false), + LunchId = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_ConferenceBookingLunches", x => x.Id); + table.ForeignKey( + name: "FK_ConferenceBookingLunches_ConferenceBookings_ConferenceBookingId", + column: x => x.ConferenceBookingId, + principalTable: "ConferenceBookings", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_ConferenceBookingLunches_Lunches_LunchId", + column: x => x.LunchId, + principalTable: "Lunches", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "RoomLunches", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + RoomId = table.Column(type: "int", nullable: false), + LunchId = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_RoomLunches", x => x.Id); + table.ForeignKey( + name: "FK_RoomLunches_Lunches_LunchId", + column: x => x.LunchId, + principalTable: "Lunches", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_RoomLunches_Rooms_RoomId", + column: x => x.RoomId, + principalTable: "Rooms", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateIndex( + name: "IX_ConferenceBookingLunches_ConferenceBookingId", + table: "ConferenceBookingLunches", + column: "ConferenceBookingId"); + + migrationBuilder.CreateIndex( + name: "IX_ConferenceBookingLunches_LunchId", + table: "ConferenceBookingLunches", + column: "LunchId"); + + migrationBuilder.CreateIndex( + name: "IX_ConferenceBookings_ConferenceId", + table: "ConferenceBookings", + column: "ConferenceId"); + + migrationBuilder.CreateIndex( + name: "IX_ConferenceBookings_HeadwaiterId", + table: "ConferenceBookings", + column: "HeadwaiterId"); + + migrationBuilder.CreateIndex( + name: "IX_ConferenceMembers_ConferenceId", + table: "ConferenceMembers", + column: "ConferenceId"); + + migrationBuilder.CreateIndex( + name: "IX_ConferenceMembers_MemberId", + table: "ConferenceMembers", + column: "MemberId"); + + migrationBuilder.CreateIndex( + name: "IX_Conferences_OrganiserId", + table: "Conferences", + column: "OrganiserId"); + + migrationBuilder.CreateIndex( + name: "IX_Lunches_HeadwaiterId", + table: "Lunches", + column: "HeadwaiterId"); + + migrationBuilder.CreateIndex( + name: "IX_MealPlanMembers_MealPlanId", + table: "MealPlanMembers", + column: "MealPlanId"); + + migrationBuilder.CreateIndex( + name: "IX_MealPlanMembers_MemberId", + table: "MealPlanMembers", + column: "MemberId"); + + migrationBuilder.CreateIndex( + name: "IX_MealPlans_OrganiserId", + table: "MealPlans", + column: "OrganiserId"); + + migrationBuilder.CreateIndex( + name: "IX_Members_OrganiserId", + table: "Members", + column: "OrganiserId"); + + migrationBuilder.CreateIndex( + name: "IX_RoomLunches_LunchId", + table: "RoomLunches", + column: "LunchId"); + + migrationBuilder.CreateIndex( + name: "IX_RoomLunches_RoomId", + table: "RoomLunches", + column: "RoomId"); + + migrationBuilder.CreateIndex( + name: "IX_Rooms_HeadwaiterId", + table: "Rooms", + column: "HeadwaiterId"); + + migrationBuilder.CreateIndex( + name: "IX_Rooms_MealPlanId", + table: "Rooms", + column: "MealPlanId"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "ConferenceBookingLunches"); + + migrationBuilder.DropTable( + name: "ConferenceMembers"); + + migrationBuilder.DropTable( + name: "MealPlanMembers"); + + migrationBuilder.DropTable( + name: "RoomLunches"); + + migrationBuilder.DropTable( + name: "ConferenceBookings"); + + migrationBuilder.DropTable( + name: "Members"); + + migrationBuilder.DropTable( + name: "Lunches"); + + migrationBuilder.DropTable( + name: "Rooms"); + + migrationBuilder.DropTable( + name: "Conferences"); + + migrationBuilder.DropTable( + name: "Headwaiters"); + + migrationBuilder.DropTable( + name: "MealPlans"); + + migrationBuilder.DropTable( + name: "Organisers"); + } + } +} diff --git a/Hotel/HotelDataBaseImplement/Migrations/HotelDataBaseModelSnapshot.cs b/Hotel/HotelDataBaseImplement/Migrations/HotelDataBaseModelSnapshot.cs new file mode 100644 index 0000000..78953d6 --- /dev/null +++ b/Hotel/HotelDataBaseImplement/Migrations/HotelDataBaseModelSnapshot.cs @@ -0,0 +1,588 @@ +// +using System; +using HotelDataBaseImplement; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace HotelDataBaseImplement.Migrations +{ + [DbContext(typeof(HotelDataBase))] + partial class HotelDataBaseModelSnapshot : ModelSnapshot + { + protected override void BuildModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "7.0.3") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Conference", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ConferenceName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("OrganiserId") + .HasColumnType("int"); + + b.Property("StartDate") + .HasColumnType("datetime2"); + + b.HasKey("Id"); + + b.HasIndex("OrganiserId"); + + b.ToTable("Conferences"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBooking", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("BookingDate") + .HasColumnType("datetime2"); + + b.Property("ConferenceId") + .HasColumnType("int"); + + b.Property("HeadwaiterId") + .HasColumnType("int"); + + b.Property("NameHall") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("ConferenceId"); + + b.HasIndex("HeadwaiterId"); + + b.ToTable("ConferenceBookings"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBookingLunch", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ConferenceBookingId") + .HasColumnType("int"); + + b.Property("LunchId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("ConferenceBookingId"); + + b.HasIndex("LunchId"); + + b.ToTable("ConferenceBookingLunches"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceMember", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ConferenceId") + .HasColumnType("int"); + + b.Property("MemberId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("ConferenceId"); + + b.HasIndex("MemberId"); + + b.ToTable("ConferenceMembers"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Headwaiter", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("HeadwaiterEmail") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("HeadwaiterLogin") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("HeadwaiterName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("HeadwaiterPassword") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("HeadwaiterPatronymic") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("HeadwaiterPhoneNumber") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("HeadwaiterSurname") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("Headwaiters"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Lunch", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("HeadwaiterId") + .HasColumnType("int"); + + b.Property("LunchName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("LunchPrice") + .HasColumnType("float"); + + b.HasKey("Id"); + + b.HasIndex("HeadwaiterId"); + + b.ToTable("Lunches"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlan", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("MealPlanName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("MealPlanPrice") + .HasColumnType("float"); + + b.Property("OrganiserId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("OrganiserId"); + + b.ToTable("MealPlans"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlanMember", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("MealPlanId") + .HasColumnType("int"); + + b.Property("MemberId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("MealPlanId"); + + b.HasIndex("MemberId"); + + b.ToTable("MealPlanMembers"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Member", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("MemberName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("MemberPatronymic") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("MemberPhoneNumber") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("MemberSurname") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("OrganiserId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("OrganiserId"); + + b.ToTable("Members"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Organiser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("OrganiserEmail") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("OrganiserLogin") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("OrganiserName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("OrganiserPassword") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("OrganiserPatronymic") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("OrganiserPhoneNumber") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("OrganiserSurname") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("Organisers"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Room", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("HeadwaiterId") + .HasColumnType("int"); + + b.Property("MealPlanId") + .HasColumnType("int"); + + b.Property("RoomFrame") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("RoomName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("RoomPrice") + .HasColumnType("float"); + + b.HasKey("Id"); + + b.HasIndex("HeadwaiterId"); + + b.HasIndex("MealPlanId"); + + b.ToTable("Rooms"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.RoomLunch", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("LunchId") + .HasColumnType("int"); + + b.Property("RoomId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("LunchId"); + + b.HasIndex("RoomId"); + + b.ToTable("RoomLunches"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Conference", b => + { + b.HasOne("HotelDataBaseImplement.Models.Organiser", "Organiser") + .WithMany("Conferences") + .HasForeignKey("OrganiserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organiser"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBooking", b => + { + b.HasOne("HotelDataBaseImplement.Models.Conference", "Conference") + .WithMany("ConferenceBookings") + .HasForeignKey("ConferenceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("HotelDataBaseImplement.Models.Headwaiter", "Headwaiter") + .WithMany("ConferenceBookings") + .HasForeignKey("HeadwaiterId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Conference"); + + b.Navigation("Headwaiter"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBookingLunch", b => + { + b.HasOne("HotelDataBaseImplement.Models.ConferenceBooking", "ConferenceBooking") + .WithMany("Lunches") + .HasForeignKey("ConferenceBookingId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("HotelDataBaseImplement.Models.Lunch", "Lunch") + .WithMany("ConferenceBookingLunch") + .HasForeignKey("LunchId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ConferenceBooking"); + + b.Navigation("Lunch"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceMember", b => + { + b.HasOne("HotelDataBaseImplement.Models.Conference", "Conference") + .WithMany("Members") + .HasForeignKey("ConferenceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("HotelDataBaseImplement.Models.Member", "Member") + .WithMany("ConferenceMembers") + .HasForeignKey("MemberId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Conference"); + + b.Navigation("Member"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Lunch", b => + { + b.HasOne("HotelDataBaseImplement.Models.Headwaiter", "Headwaiter") + .WithMany("Lunches") + .HasForeignKey("HeadwaiterId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Headwaiter"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlan", b => + { + b.HasOne("HotelDataBaseImplement.Models.Organiser", "Organiser") + .WithMany("MealPlans") + .HasForeignKey("OrganiserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organiser"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlanMember", b => + { + b.HasOne("HotelDataBaseImplement.Models.MealPlan", "MealPlan") + .WithMany("Members") + .HasForeignKey("MealPlanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("HotelDataBaseImplement.Models.Member", "Member") + .WithMany("MealPlanMember") + .HasForeignKey("MemberId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("MealPlan"); + + b.Navigation("Member"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Member", b => + { + b.HasOne("HotelDataBaseImplement.Models.Organiser", "Organiser") + .WithMany("Members") + .HasForeignKey("OrganiserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organiser"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Room", b => + { + b.HasOne("HotelDataBaseImplement.Models.Headwaiter", "Headwaiter") + .WithMany("Rooms") + .HasForeignKey("HeadwaiterId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("HotelDataBaseImplement.Models.MealPlan", "MealPlan") + .WithMany("Rooms") + .HasForeignKey("MealPlanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Headwaiter"); + + b.Navigation("MealPlan"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.RoomLunch", b => + { + b.HasOne("HotelDataBaseImplement.Models.Lunch", "Lunch") + .WithMany("RoomLunches") + .HasForeignKey("LunchId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("HotelDataBaseImplement.Models.Room", "Room") + .WithMany("Lunches") + .HasForeignKey("RoomId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Lunch"); + + b.Navigation("Room"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Conference", b => + { + b.Navigation("ConferenceBookings"); + + b.Navigation("Members"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBooking", b => + { + b.Navigation("Lunches"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Headwaiter", b => + { + b.Navigation("ConferenceBookings"); + + b.Navigation("Lunches"); + + b.Navigation("Rooms"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Lunch", b => + { + b.Navigation("ConferenceBookingLunch"); + + b.Navigation("RoomLunches"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlan", b => + { + b.Navigation("Members"); + + b.Navigation("Rooms"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Member", b => + { + b.Navigation("ConferenceMembers"); + + b.Navigation("MealPlanMember"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Organiser", b => + { + b.Navigation("Conferences"); + + b.Navigation("MealPlans"); + + b.Navigation("Members"); + }); + + modelBuilder.Entity("HotelDataBaseImplement.Models.Room", b => + { + b.Navigation("Lunches"); + }); +#pragma warning restore 612, 618 + } + } +}