//
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using PyroFetes;
#nullable disable
namespace PyroFetes.Migrations
{
[DbContext(typeof(PyroFetesDbContext))]
[Migration("20251008103414_InitialDatabase")]
partial class InitialDatabase
{
///
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.20")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
modelBuilder.Entity("PyroFetes.Models.Availability", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("AvailabilityDate")
.HasColumnType("date");
b.Property("DeliveryDate")
.HasColumnType("date");
b.Property("ExpirationDate")
.HasColumnType("date");
b.Property("RenewallDate")
.HasColumnType("date");
b.HasKey("Id");
b.ToTable("Availabilities");
});
modelBuilder.Entity("PyroFetes.Models.Brand", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("Name")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("ProductId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("ProductId");
b.ToTable("Brands");
});
modelBuilder.Entity("PyroFetes.Models.City", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("Name")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("ZipCode")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("City");
});
modelBuilder.Entity("PyroFetes.Models.Classification", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("Label")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.HasKey("Id");
b.ToTable("Classifications");
});
modelBuilder.Entity("PyroFetes.Models.Color", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("Label")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.HasKey("Id");
b.ToTable("Colors");
});
modelBuilder.Entity("PyroFetes.Models.Communication", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("Calling")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("ContactId")
.HasColumnType("int");
b.Property("Email")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("Meeting")
.IsRequired()
.HasMaxLength(300)
.HasColumnType("nvarchar(300)");
b.HasKey("Id");
b.HasIndex("ContactId");
b.ToTable("Communications");
});
modelBuilder.Entity("PyroFetes.Models.Contact", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("Address")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("City")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("CustomerId")
.HasColumnType("int");
b.Property("Email")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("FirstName")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("LastName")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("PhoneNumber")
.IsRequired()
.HasMaxLength(30)
.HasColumnType("nvarchar(30)");
b.Property("Role")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("ZipCode")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("CustomerId");
b.ToTable("Contacts");
});
modelBuilder.Entity("PyroFetes.Models.ContactServiceProvider", b =>
{
b.Property("ContactId")
.HasColumnType("int");
b.Property("ServiceProviderId")
.HasColumnType("int");
b.HasKey("ContactId", "ServiceProviderId");
b.HasIndex("ServiceProviderId");
b.ToTable("ContactServiceProvider");
});
modelBuilder.Entity("PyroFetes.Models.Contract", b =>
{
b.Property("ShowId")
.HasColumnType("int");
b.Property("ServiceProviderId")
.HasColumnType("int");
b.Property("TermsAndConditions")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("ShowId", "ServiceProviderId");
b.HasIndex("ServiceProviderId");
b.ToTable("Contract");
});
modelBuilder.Entity("PyroFetes.Models.Customer", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("CustomerTypeId")
.HasColumnType("int");
b.Property("Note")
.IsRequired()
.HasMaxLength(200)
.HasColumnType("nvarchar(200)");
b.HasKey("Id");
b.HasIndex("CustomerTypeId");
b.ToTable("Customers");
});
modelBuilder.Entity("PyroFetes.Models.CustomerType", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("Label")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.HasKey("Id");
b.ToTable("CustomerTypes");
});
modelBuilder.Entity("PyroFetes.Models.Deliverer", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("Transporter")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.HasKey("Id");
b.ToTable("Deliverers");
});
modelBuilder.Entity("PyroFetes.Models.DeliveryNote", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("DelivererId")
.HasColumnType("int");
b.Property("EstimateDeliveryDate")
.HasColumnType("date");
b.Property("ExpeditionDate")
.HasColumnType("date");
b.Property("RealDeliveryDate")
.HasColumnType("date");
b.Property("TrackingNumber")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.HasKey("Id");
b.HasIndex("DelivererId");
b.ToTable("DeliveryNotes");
});
modelBuilder.Entity("PyroFetes.Models.Effect", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("Label")
.IsRequired()
.HasMaxLength(200)
.HasColumnType("nvarchar(200)");
b.HasKey("Id");
b.ToTable("Effects");
});
modelBuilder.Entity("PyroFetes.Models.ExperienceLevel", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("Label")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("StaffId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("StaffId");
b.ToTable("ExperienceLevels");
});
modelBuilder.Entity("PyroFetes.Models.HistoryOfApproval", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("DeliveryDate")
.HasColumnType("date");
b.Property("ExpirationDate")
.HasColumnType("date");
b.HasKey("Id");
b.ToTable("HistoryOfApprovals");
});
modelBuilder.Entity("PyroFetes.Models.Material", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("Name")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("Quantity")
.HasColumnType("int");
b.Property("WarehouseId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("WarehouseId");
b.ToTable("Materials");
});
modelBuilder.Entity("PyroFetes.Models.MaterialWarehouse", b =>
{
b.Property("MaterialId")
.HasColumnType("int");
b.Property("WarehouseId")
.HasColumnType("int");
b.HasKey("MaterialId", "WarehouseId");
b.HasIndex("WarehouseId");
b.ToTable("MaterialWarehouse");
});
modelBuilder.Entity("PyroFetes.Models.Movement", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("Arrival")
.HasColumnType("datetime2");
b.Property("Date")
.HasColumnType("datetime2");
b.Property("DestinationWarehouseId")
.HasColumnType("int");
b.Property("Quantity")
.HasColumnType("int");
b.Property("SourceWarehouseId")
.HasColumnType("int");
b.Property("Start")
.HasColumnType("datetime2");
b.HasKey("Id");
b.HasIndex("DestinationWarehouseId");
b.HasIndex("SourceWarehouseId");
b.ToTable("Movements");
});
modelBuilder.Entity("PyroFetes.Models.Price", b =>
{
b.Property("ProductId")
.HasColumnType("int");
b.Property("SupplierId")
.HasColumnType("int");
b.Property("SellingPrice")
.HasColumnType("decimal(18,2)");
b.HasKey("ProductId", "SupplierId");
b.HasIndex("SupplierId");
b.ToTable("Prices");
});
modelBuilder.Entity("PyroFetes.Models.Product", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("ApprovalNumber")
.HasColumnType("int");
b.Property("Caliber")
.HasColumnType("decimal(18,2)");
b.Property("ClassificationId")
.HasColumnType("int");
b.Property("Duration")
.HasColumnType("decimal(18,2)");
b.Property("Image")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("Link")
.IsRequired()
.HasMaxLength(200)
.HasColumnType("nvarchar(200)");
b.Property("MinimalQuantity")
.HasColumnType("int");
b.Property("MovementId")
.HasColumnType("int");
b.Property("Name")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("Nec")
.HasColumnType("decimal(18,2)");
b.Property("ProductCategoryId")
.HasColumnType("int");
b.Property("References")
.HasColumnType("int");
b.Property("SellingPrice")
.HasColumnType("decimal(18,2)");
b.Property("Weight")
.HasColumnType("decimal(18,2)");
b.HasKey("Id");
b.HasIndex("ClassificationId");
b.HasIndex("MovementId");
b.HasIndex("ProductCategoryId");
b.ToTable("Products");
});
modelBuilder.Entity("PyroFetes.Models.ProductCategory", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("Label")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.HasKey("Id");
b.ToTable("ProductCategories");
});
modelBuilder.Entity("PyroFetes.Models.ProductColor", b =>
{
b.Property("ProductId")
.HasColumnType("int");
b.Property("ColorId")
.HasColumnType("int");
b.HasKey("ProductId", "ColorId");
b.HasIndex("ColorId");
b.ToTable("ProductColors");
});
modelBuilder.Entity("PyroFetes.Models.ProductDelivery", b =>
{
b.Property("ProductId")
.HasColumnType("int");
b.Property("DeliveryNoteId")
.HasColumnType("int");
b.Property("Quantity")
.HasColumnType("int");
b.HasKey("ProductId", "DeliveryNoteId");
b.HasIndex("DeliveryNoteId");
b.ToTable("ProductDeliveries");
});
modelBuilder.Entity("PyroFetes.Models.ProductEffect", b =>
{
b.Property("ProductId")
.HasColumnType("int");
b.Property("EffectId")
.HasColumnType("int");
b.HasKey("ProductId", "EffectId");
b.HasIndex("EffectId");
b.ToTable("ProductEffects");
});
modelBuilder.Entity("PyroFetes.Models.ProductTimecode", b =>
{
b.Property("ProductId")
.HasColumnType("int");
b.Property("ShowId")
.HasColumnType("int");
b.Property("End")
.HasColumnType("decimal(18,2)");
b.Property("Start")
.HasColumnType("decimal(18,2)");
b.HasKey("ProductId", "ShowId");
b.HasIndex("ShowId");
b.ToTable("ProductTimecode");
});
modelBuilder.Entity("PyroFetes.Models.ProviderContact", b =>
{
b.Property("ContactId")
.HasColumnType("int");
b.Property("ProviderId")
.HasColumnType("int");
b.HasKey("ContactId", "ProviderId");
b.HasIndex("ProviderId");
b.ToTable("ProviderContacts");
});
modelBuilder.Entity("PyroFetes.Models.ProviderType", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("Label")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.HasKey("Id");
b.ToTable("ProviderTypes");
});
modelBuilder.Entity("PyroFetes.Models.PurchaseOrder", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("PurchaseConditions")
.IsRequired()
.HasMaxLength(300)
.HasColumnType("nvarchar(300)");
b.HasKey("Id");
b.ToTable("PurchaseOrders");
});
modelBuilder.Entity("PyroFetes.Models.PurchaseProduct", b =>
{
b.Property("ProductId")
.HasColumnType("int");
b.Property("PurchaseOrderId")
.HasColumnType("int");
b.Property("Quantity")
.HasColumnType("int");
b.HasKey("ProductId", "PurchaseOrderId");
b.HasIndex("PurchaseOrderId");
b.ToTable("PurchaseProducts");
});
modelBuilder.Entity("PyroFetes.Models.Quotation", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("ConditionsSale")
.IsRequired()
.HasMaxLength(300)
.HasColumnType("nvarchar(300)");
b.Property("CustomerId")
.HasColumnType("int");
b.Property("Message")
.IsRequired()
.HasMaxLength(200)
.HasColumnType("nvarchar(200)");
b.HasKey("Id");
b.HasIndex("CustomerId");
b.ToTable("Quotations");
});
modelBuilder.Entity("PyroFetes.Models.QuotationProduct", b =>
{
b.Property("ProductId")
.HasColumnType("int");
b.Property("QuotationId")
.HasColumnType("int");
b.Property("Quantity")
.HasColumnType("int");
b.HasKey("ProductId", "QuotationId");
b.HasIndex("QuotationId");
b.ToTable("QuotationProducts");
});
modelBuilder.Entity("PyroFetes.Models.ServiceProvider", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("Price")
.HasColumnType("decimal(18,2)");
b.Property("ProviderTypeId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("ProviderTypeId");
b.ToTable("Providers");
});
modelBuilder.Entity("PyroFetes.Models.Setting", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("ElectronicSignature")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("Logo")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.ToTable("Settings");
});
modelBuilder.Entity("PyroFetes.Models.Show", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("CityId")
.HasColumnType("int");
b.Property("Date")
.HasColumnType("date");
b.Property("Description")
.HasMaxLength(500)
.HasColumnType("nvarchar(500)");
b.Property("Name")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("Place")
.IsRequired()
.HasMaxLength(120)
.HasColumnType("nvarchar(120)");
b.Property("PyrotechnicImplementationPlan")
.IsRequired()
.HasMaxLength(500)
.HasColumnType("nvarchar(500)");
b.HasKey("Id");
b.HasIndex("CityId");
b.ToTable("Shows");
});
modelBuilder.Entity("PyroFetes.Models.ShowMaterial", b =>
{
b.Property("ShowId")
.HasColumnType("int");
b.Property("MaterialId")
.HasColumnType("int");
b.HasKey("ShowId", "MaterialId");
b.HasIndex("MaterialId");
b.ToTable("ShowMaterial");
});
modelBuilder.Entity("PyroFetes.Models.ShowStaff", b =>
{
b.Property("StaffId")
.HasColumnType("int");
b.Property("ShowId")
.HasColumnType("int");
b.HasKey("StaffId", "ShowId");
b.HasIndex("ShowId");
b.ToTable("ShowStaff");
});
modelBuilder.Entity("PyroFetes.Models.ShowTruck", b =>
{
b.Property("ShowId")
.HasColumnType("int");
b.Property("TruckId")
.HasColumnType("int");
b.HasKey("ShowId", "TruckId");
b.HasIndex("TruckId");
b.ToTable("ShowTruck");
});
modelBuilder.Entity("PyroFetes.Models.Sound", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("Artist")
.IsRequired()
.HasMaxLength(120)
.HasColumnType("nvarchar(120)");
b.Property("CreationDate")
.HasColumnType("datetime2");
b.Property("Duration")
.IsRequired()
.HasColumnType("int");
b.Property("Format")
.IsRequired()
.HasMaxLength(40)
.HasColumnType("nvarchar(40)");
b.Property("Kind")
.IsRequired()
.HasMaxLength(40)
.HasColumnType("nvarchar(40)");
b.Property("Name")
.IsRequired()
.HasMaxLength(120)
.HasColumnType("nvarchar(120)");
b.Property("SoundCategoryId")
.HasColumnType("int");
b.Property("Type")
.IsRequired()
.HasMaxLength(60)
.HasColumnType("nvarchar(60)");
b.HasKey("Id");
b.HasIndex("SoundCategoryId");
b.ToTable("Sounds");
});
modelBuilder.Entity("PyroFetes.Models.SoundCategory", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("Name")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.HasKey("Id");
b.ToTable("SoundCategories");
});
modelBuilder.Entity("PyroFetes.Models.SoundTimecode", b =>
{
b.Property("ShowId")
.HasColumnType("int");
b.Property("SoundId")
.HasColumnType("int");
b.Property("End")
.HasColumnType("decimal(18,2)");
b.Property("Start")
.HasColumnType("decimal(18,2)");
b.HasKey("ShowId", "SoundId");
b.HasIndex("SoundId");
b.ToTable("SoundTimecodes");
});
modelBuilder.Entity("PyroFetes.Models.Staff", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("Email")
.IsRequired()
.HasMaxLength(120)
.HasColumnType("nvarchar(120)");
b.Property("F4T2ExpirationDate")
.HasColumnType("date");
b.Property("F4T2NumberApproval")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("FirstName")
.IsRequired()
.HasMaxLength(60)
.HasColumnType("nvarchar(60)");
b.Property("LastName")
.IsRequired()
.HasMaxLength(60)
.HasColumnType("nvarchar(60)");
b.Property("Profession")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.HasKey("Id");
b.ToTable("Staffs");
});
modelBuilder.Entity("PyroFetes.Models.StaffAvailability", b =>
{
b.Property("AvailabilityId")
.HasColumnType("int");
b.Property("StaffId")
.HasColumnType("int");
b.HasKey("AvailabilityId", "StaffId");
b.HasIndex("StaffId");
b.ToTable("StaffAvailabilities");
});
modelBuilder.Entity("PyroFetes.Models.StaffContact", b =>
{
b.Property("ContactId")
.HasColumnType("int");
b.Property("StaffId")
.HasColumnType("int");
b.HasKey("ContactId", "StaffId");
b.HasIndex("StaffId");
b.ToTable("StaffContacts");
});
modelBuilder.Entity("PyroFetes.Models.StaffHistoryOfApproval", b =>
{
b.Property("HistoryOfApprovalId")
.HasColumnType("int");
b.Property("StaffId")
.HasColumnType("int");
b.HasKey("HistoryOfApprovalId", "StaffId");
b.HasIndex("StaffId");
b.ToTable("StaffHistoryOfApprovals");
});
modelBuilder.Entity("PyroFetes.Models.Supplier", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("Address")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("City")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("DeliveryDelay")
.HasColumnType("int");
b.Property("Email")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("Name")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("Phone")
.IsRequired()
.HasMaxLength(30)
.HasColumnType("nvarchar(30)");
b.Property("ZipCode")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Suppliers");
});
modelBuilder.Entity("PyroFetes.Models.Truck", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("MaxExplosiveCapacity")
.IsRequired()
.HasColumnType("float");
b.Property("Sizes")
.IsRequired()
.HasMaxLength(80)
.HasColumnType("nvarchar(80)");
b.Property("Status")
.IsRequired()
.HasMaxLength(40)
.HasColumnType("nvarchar(40)");
b.Property("Type")
.IsRequired()
.HasMaxLength(40)
.HasColumnType("nvarchar(40)");
b.HasKey("Id");
b.ToTable("Trucks");
});
modelBuilder.Entity("PyroFetes.Models.User", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("Email")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("Fonction")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("Name")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("Password")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property("Salt")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.HasKey("Id");
b.ToTable("Users");
});
modelBuilder.Entity("PyroFetes.Models.Warehouse", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("Address")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("City")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("Current")
.HasColumnType("int");
b.Property("MaxWeight")
.HasColumnType("int");
b.Property("MinWeight")
.HasColumnType("int");
b.Property("Name")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("ZipCode")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Warehouses");
});
modelBuilder.Entity("PyroFetes.Models.WarehouseProduct", b =>
{
b.Property("ProductId")
.HasColumnType("int");
b.Property("WarehouseId")
.HasColumnType("int");
b.Property("Quantity")
.HasColumnType("int");
b.HasKey("ProductId", "WarehouseId");
b.HasIndex("WarehouseId");
b.ToTable("WarehouseProducts");
});
modelBuilder.Entity("PyroFetes.Models.Brand", b =>
{
b.HasOne("PyroFetes.Models.Product", "Product")
.WithMany("Brands")
.HasForeignKey("ProductId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Product");
});
modelBuilder.Entity("PyroFetes.Models.Communication", b =>
{
b.HasOne("PyroFetes.Models.Contact", "Contact")
.WithMany("Communications")
.HasForeignKey("ContactId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Contact");
});
modelBuilder.Entity("PyroFetes.Models.Contact", b =>
{
b.HasOne("PyroFetes.Models.Customer", "Customer")
.WithMany("Contacts")
.HasForeignKey("CustomerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Customer");
});
modelBuilder.Entity("PyroFetes.Models.ContactServiceProvider", b =>
{
b.HasOne("PyroFetes.Models.Contact", "Contact")
.WithMany("ContactServiceProviders")
.HasForeignKey("ContactId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("PyroFetes.Models.ServiceProvider", "ServiceProvider")
.WithMany("ContactServiceProviders")
.HasForeignKey("ServiceProviderId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Contact");
b.Navigation("ServiceProvider");
});
modelBuilder.Entity("PyroFetes.Models.Contract", b =>
{
b.HasOne("PyroFetes.Models.ServiceProvider", "ServiceProvider")
.WithMany("Contracts")
.HasForeignKey("ServiceProviderId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("PyroFetes.Models.Show", "Show")
.WithMany("Contracts")
.HasForeignKey("ShowId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("ServiceProvider");
b.Navigation("Show");
});
modelBuilder.Entity("PyroFetes.Models.Customer", b =>
{
b.HasOne("PyroFetes.Models.CustomerType", "CustomerType")
.WithMany("Customers")
.HasForeignKey("CustomerTypeId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("CustomerType");
});
modelBuilder.Entity("PyroFetes.Models.DeliveryNote", b =>
{
b.HasOne("PyroFetes.Models.Deliverer", "Deliverer")
.WithMany("DeliveryNotes")
.HasForeignKey("DelivererId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Deliverer");
});
modelBuilder.Entity("PyroFetes.Models.ExperienceLevel", b =>
{
b.HasOne("PyroFetes.Models.Staff", "Staff")
.WithMany("ExperienceLevels")
.HasForeignKey("StaffId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Staff");
});
modelBuilder.Entity("PyroFetes.Models.Material", b =>
{
b.HasOne("PyroFetes.Models.Warehouse", "Warehouse")
.WithMany()
.HasForeignKey("WarehouseId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Warehouse");
});
modelBuilder.Entity("PyroFetes.Models.MaterialWarehouse", b =>
{
b.HasOne("PyroFetes.Models.Material", "Material")
.WithMany("MaterialWarehouses")
.HasForeignKey("MaterialId")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b.HasOne("PyroFetes.Models.Warehouse", "Warehouse")
.WithMany("MaterialWarehouses")
.HasForeignKey("WarehouseId")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b.Navigation("Material");
b.Navigation("Warehouse");
});
modelBuilder.Entity("PyroFetes.Models.Movement", b =>
{
b.HasOne("PyroFetes.Models.Warehouse", "DestinationWarehouse")
.WithMany("MovementsDestination")
.HasForeignKey("DestinationWarehouseId")
.OnDelete(DeleteBehavior.Restrict);
b.HasOne("PyroFetes.Models.Warehouse", "SourceWarehouse")
.WithMany("MovementsSource")
.HasForeignKey("SourceWarehouseId")
.OnDelete(DeleteBehavior.Restrict);
b.Navigation("DestinationWarehouse");
b.Navigation("SourceWarehouse");
});
modelBuilder.Entity("PyroFetes.Models.Price", b =>
{
b.HasOne("PyroFetes.Models.Product", "Product")
.WithMany("Prices")
.HasForeignKey("ProductId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("PyroFetes.Models.Supplier", "Supplier")
.WithMany("Prices")
.HasForeignKey("SupplierId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Product");
b.Navigation("Supplier");
});
modelBuilder.Entity("PyroFetes.Models.Product", b =>
{
b.HasOne("PyroFetes.Models.Classification", "Classification")
.WithMany("Products")
.HasForeignKey("ClassificationId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("PyroFetes.Models.Movement", "Movement")
.WithMany("Products")
.HasForeignKey("MovementId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("PyroFetes.Models.ProductCategory", "ProductCategory")
.WithMany("Products")
.HasForeignKey("ProductCategoryId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Classification");
b.Navigation("Movement");
b.Navigation("ProductCategory");
});
modelBuilder.Entity("PyroFetes.Models.ProductColor", b =>
{
b.HasOne("PyroFetes.Models.Color", "Color")
.WithMany("ProductColors")
.HasForeignKey("ColorId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("PyroFetes.Models.Product", "Product")
.WithMany("ProductColors")
.HasForeignKey("ProductId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Color");
b.Navigation("Product");
});
modelBuilder.Entity("PyroFetes.Models.ProductDelivery", b =>
{
b.HasOne("PyroFetes.Models.DeliveryNote", "DeliveryNote")
.WithMany("ProductDeliveries")
.HasForeignKey("DeliveryNoteId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("PyroFetes.Models.Product", "Product")
.WithMany("ProductDeliveries")
.HasForeignKey("ProductId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("DeliveryNote");
b.Navigation("Product");
});
modelBuilder.Entity("PyroFetes.Models.ProductEffect", b =>
{
b.HasOne("PyroFetes.Models.Effect", "Effect")
.WithMany("ProductEffects")
.HasForeignKey("EffectId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("PyroFetes.Models.Product", "Product")
.WithMany("ProductEffects")
.HasForeignKey("ProductId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Effect");
b.Navigation("Product");
});
modelBuilder.Entity("PyroFetes.Models.ProductTimecode", b =>
{
b.HasOne("PyroFetes.Models.Product", "Product")
.WithMany("ProductTimecodes")
.HasForeignKey("ProductId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("PyroFetes.Models.Show", "Show")
.WithMany("ProductTimecodes")
.HasForeignKey("ShowId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Product");
b.Navigation("Show");
});
modelBuilder.Entity("PyroFetes.Models.ProviderContact", b =>
{
b.HasOne("PyroFetes.Models.Contact", "Contact")
.WithMany()
.HasForeignKey("ContactId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("PyroFetes.Models.ServiceProvider", "Provider")
.WithMany()
.HasForeignKey("ProviderId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Contact");
b.Navigation("Provider");
});
modelBuilder.Entity("PyroFetes.Models.PurchaseProduct", b =>
{
b.HasOne("PyroFetes.Models.Product", "Product")
.WithMany("PurchaseProducts")
.HasForeignKey("ProductId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("PyroFetes.Models.PurchaseOrder", "PurchaseOrder")
.WithMany("PurchaseProducts")
.HasForeignKey("PurchaseOrderId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Product");
b.Navigation("PurchaseOrder");
});
modelBuilder.Entity("PyroFetes.Models.Quotation", b =>
{
b.HasOne("PyroFetes.Models.Customer", "Customer")
.WithMany("Quotations")
.HasForeignKey("CustomerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Customer");
});
modelBuilder.Entity("PyroFetes.Models.QuotationProduct", b =>
{
b.HasOne("PyroFetes.Models.Product", "Product")
.WithMany("QuotationProducts")
.HasForeignKey("ProductId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("PyroFetes.Models.Quotation", "Quotation")
.WithMany("QuotationProducts")
.HasForeignKey("QuotationId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Product");
b.Navigation("Quotation");
});
modelBuilder.Entity("PyroFetes.Models.ServiceProvider", b =>
{
b.HasOne("PyroFetes.Models.ProviderType", "ProviderType")
.WithMany("ServiceProviders")
.HasForeignKey("ProviderTypeId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("ProviderType");
});
modelBuilder.Entity("PyroFetes.Models.Show", b =>
{
b.HasOne("PyroFetes.Models.City", "City")
.WithMany("Shows")
.HasForeignKey("CityId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("City");
});
modelBuilder.Entity("PyroFetes.Models.ShowMaterial", b =>
{
b.HasOne("PyroFetes.Models.Material", "Material")
.WithMany("ShowMaterials")
.HasForeignKey("MaterialId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("PyroFetes.Models.Show", "Show")
.WithMany("ShowMaterials")
.HasForeignKey("ShowId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Material");
b.Navigation("Show");
});
modelBuilder.Entity("PyroFetes.Models.ShowStaff", b =>
{
b.HasOne("PyroFetes.Models.Show", "Show")
.WithMany("ShowStaffs")
.HasForeignKey("ShowId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("PyroFetes.Models.Staff", "Staff")
.WithMany("ShowStaffs")
.HasForeignKey("StaffId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Show");
b.Navigation("Staff");
});
modelBuilder.Entity("PyroFetes.Models.ShowTruck", b =>
{
b.HasOne("PyroFetes.Models.Show", "Show")
.WithMany("ShowTrucks")
.HasForeignKey("ShowId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("PyroFetes.Models.Truck", "Truck")
.WithMany("ShowTrucks")
.HasForeignKey("TruckId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Show");
b.Navigation("Truck");
});
modelBuilder.Entity("PyroFetes.Models.Sound", b =>
{
b.HasOne("PyroFetes.Models.SoundCategory", "SoundCategory")
.WithMany("Sounds")
.HasForeignKey("SoundCategoryId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("SoundCategory");
});
modelBuilder.Entity("PyroFetes.Models.SoundTimecode", b =>
{
b.HasOne("PyroFetes.Models.Show", "Show")
.WithMany("SoundTimecodes")
.HasForeignKey("ShowId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("PyroFetes.Models.Sound", "Sound")
.WithMany("SoundTimecodes")
.HasForeignKey("SoundId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Show");
b.Navigation("Sound");
});
modelBuilder.Entity("PyroFetes.Models.StaffAvailability", b =>
{
b.HasOne("PyroFetes.Models.Availability", "Availability")
.WithMany("StaffAvailabilities")
.HasForeignKey("AvailabilityId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("PyroFetes.Models.Staff", "Staff")
.WithMany("StaffAvailabilities")
.HasForeignKey("StaffId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Availability");
b.Navigation("Staff");
});
modelBuilder.Entity("PyroFetes.Models.StaffContact", b =>
{
b.HasOne("PyroFetes.Models.Contact", "Contact")
.WithMany("StaffContacts")
.HasForeignKey("ContactId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("PyroFetes.Models.Staff", "Staff")
.WithMany("StaffContacts")
.HasForeignKey("StaffId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Contact");
b.Navigation("Staff");
});
modelBuilder.Entity("PyroFetes.Models.StaffHistoryOfApproval", b =>
{
b.HasOne("PyroFetes.Models.HistoryOfApproval", "HistoryOfApproval")
.WithMany("StaffHistoryOfApprovals")
.HasForeignKey("HistoryOfApprovalId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("PyroFetes.Models.Staff", "Staff")
.WithMany("StaffHistoryOfApprovals")
.HasForeignKey("StaffId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("HistoryOfApproval");
b.Navigation("Staff");
});
modelBuilder.Entity("PyroFetes.Models.WarehouseProduct", b =>
{
b.HasOne("PyroFetes.Models.Product", "Product")
.WithMany("WarehouseProducts")
.HasForeignKey("ProductId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("PyroFetes.Models.Warehouse", "Warehouse")
.WithMany("WarehouseProducts")
.HasForeignKey("WarehouseId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Product");
b.Navigation("Warehouse");
});
modelBuilder.Entity("PyroFetes.Models.Availability", b =>
{
b.Navigation("StaffAvailabilities");
});
modelBuilder.Entity("PyroFetes.Models.City", b =>
{
b.Navigation("Shows");
});
modelBuilder.Entity("PyroFetes.Models.Classification", b =>
{
b.Navigation("Products");
});
modelBuilder.Entity("PyroFetes.Models.Color", b =>
{
b.Navigation("ProductColors");
});
modelBuilder.Entity("PyroFetes.Models.Contact", b =>
{
b.Navigation("Communications");
b.Navigation("ContactServiceProviders");
b.Navigation("StaffContacts");
});
modelBuilder.Entity("PyroFetes.Models.Customer", b =>
{
b.Navigation("Contacts");
b.Navigation("Quotations");
});
modelBuilder.Entity("PyroFetes.Models.CustomerType", b =>
{
b.Navigation("Customers");
});
modelBuilder.Entity("PyroFetes.Models.Deliverer", b =>
{
b.Navigation("DeliveryNotes");
});
modelBuilder.Entity("PyroFetes.Models.DeliveryNote", b =>
{
b.Navigation("ProductDeliveries");
});
modelBuilder.Entity("PyroFetes.Models.Effect", b =>
{
b.Navigation("ProductEffects");
});
modelBuilder.Entity("PyroFetes.Models.HistoryOfApproval", b =>
{
b.Navigation("StaffHistoryOfApprovals");
});
modelBuilder.Entity("PyroFetes.Models.Material", b =>
{
b.Navigation("MaterialWarehouses");
b.Navigation("ShowMaterials");
});
modelBuilder.Entity("PyroFetes.Models.Movement", b =>
{
b.Navigation("Products");
});
modelBuilder.Entity("PyroFetes.Models.Product", b =>
{
b.Navigation("Brands");
b.Navigation("Prices");
b.Navigation("ProductColors");
b.Navigation("ProductDeliveries");
b.Navigation("ProductEffects");
b.Navigation("ProductTimecodes");
b.Navigation("PurchaseProducts");
b.Navigation("QuotationProducts");
b.Navigation("WarehouseProducts");
});
modelBuilder.Entity("PyroFetes.Models.ProductCategory", b =>
{
b.Navigation("Products");
});
modelBuilder.Entity("PyroFetes.Models.ProviderType", b =>
{
b.Navigation("ServiceProviders");
});
modelBuilder.Entity("PyroFetes.Models.PurchaseOrder", b =>
{
b.Navigation("PurchaseProducts");
});
modelBuilder.Entity("PyroFetes.Models.Quotation", b =>
{
b.Navigation("QuotationProducts");
});
modelBuilder.Entity("PyroFetes.Models.ServiceProvider", b =>
{
b.Navigation("ContactServiceProviders");
b.Navigation("Contracts");
});
modelBuilder.Entity("PyroFetes.Models.Show", b =>
{
b.Navigation("Contracts");
b.Navigation("ProductTimecodes");
b.Navigation("ShowMaterials");
b.Navigation("ShowStaffs");
b.Navigation("ShowTrucks");
b.Navigation("SoundTimecodes");
});
modelBuilder.Entity("PyroFetes.Models.Sound", b =>
{
b.Navigation("SoundTimecodes");
});
modelBuilder.Entity("PyroFetes.Models.SoundCategory", b =>
{
b.Navigation("Sounds");
});
modelBuilder.Entity("PyroFetes.Models.Staff", b =>
{
b.Navigation("ExperienceLevels");
b.Navigation("ShowStaffs");
b.Navigation("StaffAvailabilities");
b.Navigation("StaffContacts");
b.Navigation("StaffHistoryOfApprovals");
});
modelBuilder.Entity("PyroFetes.Models.Supplier", b =>
{
b.Navigation("Prices");
});
modelBuilder.Entity("PyroFetes.Models.Truck", b =>
{
b.Navigation("ShowTrucks");
});
modelBuilder.Entity("PyroFetes.Models.Warehouse", b =>
{
b.Navigation("MaterialWarehouses");
b.Navigation("MovementsDestination");
b.Navigation("MovementsSource");
b.Navigation("WarehouseProducts");
});
#pragma warning restore 612, 618
}
}
}