//
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("20240528212239_Init")]
partial class Init
{
///
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "7.0.11")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
modelBuilder.Entity("HotelDataBaseImplement.Models.Administrator", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("AdministratorEmail")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("AdministratorFIO")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("AdministratorLogin")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("AdministratorPassword")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("AdministratorPhone")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.ToTable("Administrators");
});
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.Property("Subject")
.IsRequired()
.HasColumnType("nvarchar(max)");
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("AdministratorId")
.HasColumnType("int");
b.Property("ConferenceId")
.HasColumnType("int");
b.Property("DateСonference")
.HasColumnType("datetime2");
b.Property("PlaceСonference")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("AdministratorId");
b.HasIndex("ConferenceId");
b.ToTable("ConferenceBookings");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBookingDinner", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("ConferenceBookingId")
.HasColumnType("int");
b.Property("DinnerId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("ConferenceBookingId");
b.HasIndex("DinnerId");
b.ToTable("ConferenceBookingDinners");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceParticipant", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("ConferenceId")
.HasColumnType("int");
b.Property("ParticipantId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("ConferenceId");
b.HasIndex("ParticipantId");
b.ToTable("ConferenceParticipants");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Dinner", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("AdministratorId")
.HasColumnType("int");
b.Property("DinnerName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("DinnerPrice")
.HasColumnType("float");
b.Property("DinnerСalorieСontent")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("AdministratorId");
b.ToTable("Dinners");
});
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.MealPlanParticipant", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("MealPlanId")
.HasColumnType("int");
b.Property("ParticipantId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("MealPlanId");
b.HasIndex("ParticipantId");
b.ToTable("MealPlanParticipants");
});
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("OrganiserFIO")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("OrganiserLogin")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("OrganiserNumber")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("OrganiserPassword")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.ToTable("Organisers");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Participant", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("Number")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("OrganiserId")
.HasColumnType("int");
b.Property("ParticipantFIO")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("OrganiserId");
b.ToTable("Participants");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Room", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("AdministratorId")
.HasColumnType("int");
b.Property("DateCreate")
.HasColumnType("datetime2");
b.Property("MealPlanId")
.HasColumnType("int");
b.Property("RoomNumber")
.HasColumnType("int");
b.Property("RoomPrice")
.HasColumnType("float");
b.HasKey("Id");
b.HasIndex("AdministratorId");
b.HasIndex("MealPlanId");
b.ToTable("Rooms");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.RoomDinner", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("DinnerId")
.HasColumnType("int");
b.Property("RoomId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("DinnerId");
b.HasIndex("RoomId");
b.ToTable("RoomDinners");
});
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.Administrator", "Administrator")
.WithMany("ConferenceBookings")
.HasForeignKey("AdministratorId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("HotelDataBaseImplement.Models.Conference", "Conference")
.WithMany("Bookings")
.HasForeignKey("ConferenceId");
b.Navigation("Administrator");
b.Navigation("Conference");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBookingDinner", b =>
{
b.HasOne("HotelDataBaseImplement.Models.ConferenceBooking", "ConferenceBooking")
.WithMany("Dinners")
.HasForeignKey("ConferenceBookingId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("HotelDataBaseImplement.Models.Dinner", "Dinner")
.WithMany("ConferenceBookingDinner")
.HasForeignKey("DinnerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("ConferenceBooking");
b.Navigation("Dinner");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceParticipant", b =>
{
b.HasOne("HotelDataBaseImplement.Models.Conference", "Conference")
.WithMany("Participants")
.HasForeignKey("ConferenceId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("HotelDataBaseImplement.Models.Participant", "Participant")
.WithMany("ConferenceParticipants")
.HasForeignKey("ParticipantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Conference");
b.Navigation("Participant");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Dinner", b =>
{
b.HasOne("HotelDataBaseImplement.Models.Administrator", "Administrator")
.WithMany("Dinners")
.HasForeignKey("AdministratorId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Administrator");
});
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.MealPlanParticipant", b =>
{
b.HasOne("HotelDataBaseImplement.Models.MealPlan", "MealPlan")
.WithMany("Participants")
.HasForeignKey("MealPlanId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("HotelDataBaseImplement.Models.Participant", "Participant")
.WithMany("MealPlanParticipants")
.HasForeignKey("ParticipantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("MealPlan");
b.Navigation("Participant");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Participant", b =>
{
b.HasOne("HotelDataBaseImplement.Models.Organiser", "Organiser")
.WithMany("Participants")
.HasForeignKey("OrganiserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Organiser");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Room", b =>
{
b.HasOne("HotelDataBaseImplement.Models.Administrator", "Administrator")
.WithMany("Rooms")
.HasForeignKey("AdministratorId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("HotelDataBaseImplement.Models.MealPlan", "MealPlan")
.WithMany("Rooms")
.HasForeignKey("MealPlanId");
b.Navigation("Administrator");
b.Navigation("MealPlan");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.RoomDinner", b =>
{
b.HasOne("HotelDataBaseImplement.Models.Dinner", "Dinner")
.WithMany("RoomDinners")
.HasForeignKey("DinnerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("HotelDataBaseImplement.Models.Room", "Room")
.WithMany("Dinners")
.HasForeignKey("RoomId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Dinner");
b.Navigation("Room");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Administrator", b =>
{
b.Navigation("ConferenceBookings");
b.Navigation("Dinners");
b.Navigation("Rooms");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Conference", b =>
{
b.Navigation("Bookings");
b.Navigation("Participants");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBooking", b =>
{
b.Navigation("Dinners");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Dinner", b =>
{
b.Navigation("ConferenceBookingDinner");
b.Navigation("RoomDinners");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlan", b =>
{
b.Navigation("Participants");
b.Navigation("Rooms");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Organiser", b =>
{
b.Navigation("Conferences");
b.Navigation("MealPlans");
b.Navigation("Participants");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Participant", b =>
{
b.Navigation("ConferenceParticipants");
b.Navigation("MealPlanParticipants");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Room", b =>
{
b.Navigation("Dinners");
});
#pragma warning restore 612, 618
}
}
}