diff --git a/PyroFetes/Migrations/20251007094021_InitialDatabase.Designer.cs b/PyroFetes/Migrations/20251007094021_InitialDatabase.Designer.cs
new file mode 100644
index 0000000..7b2ce88
--- /dev/null
+++ b/PyroFetes/Migrations/20251007094021_InitialDatabase.Designer.cs
@@ -0,0 +1,1574 @@
+//
+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("20251007094021_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")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ 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.Classification", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("Label")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ 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()
+ .HasColumnType("nvarchar(max)");
+
+ 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()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Email")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Meeting")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.ToTable("Communications");
+ });
+
+ modelBuilder.Entity("PyroFetes.Models.Contact", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("Address")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("City")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("CommunicationId")
+ .HasColumnType("int");
+
+ b.Property("Email")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("FirstName")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.Property("LastName")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.Property("PhoneNumber")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Role")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ZipCode")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CommunicationId");
+
+ b.ToTable("Contacts");
+ });
+
+ modelBuilder.Entity("PyroFetes.Models.Customer", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("ContactId")
+ .HasColumnType("int");
+
+ b.Property("CustomerTypeId")
+ .HasColumnType("int");
+
+ b.Property("Note")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ContactId");
+
+ b.HasIndex("CustomerTypeId");
+
+ b.ToTable("Customers");
+ });
+
+ modelBuilder.Entity("PyroFetes.Models.CustomerContact", b =>
+ {
+ b.Property("ContactId")
+ .HasColumnType("int");
+
+ b.Property("CustomerId")
+ .HasColumnType("int");
+
+ b.HasKey("ContactId", "CustomerId");
+
+ b.HasIndex("CustomerId");
+
+ b.ToTable("CustomerContacts");
+ });
+
+ modelBuilder.Entity("PyroFetes.Models.CustomerType", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("Price")
+ .HasColumnType("decimal(18,2)");
+
+ 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()
+ .HasColumnType("nvarchar(max)");
+
+ 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()
+ .HasColumnType("nvarchar(max)");
+
+ 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()
+ .HasColumnType("nvarchar(max)");
+
+ 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()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ 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.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("ProductId")
+ .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("ProductId");
+
+ 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()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("MinimalQuantity")
+ .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("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()
+ .HasColumnType("nvarchar(max)");
+
+ 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.Provider", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("Price")
+ .HasColumnType("decimal(18,2)");
+
+ b.Property("ProviderId")
+ .HasColumnType("int");
+
+ b.Property("ProviderTypeId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ProviderTypeId");
+
+ b.ToTable("Providers");
+ });
+
+ 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()
+ .HasColumnType("nvarchar(max)");
+
+ 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()
+ .HasColumnType("nvarchar(max)");
+
+ 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()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Message")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ 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.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("Date")
+ .HasColumnType("datetime2");
+
+ b.Property("Description")
+ .HasMaxLength(500)
+ .HasColumnType("nvarchar(500)");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Place")
+ .IsRequired()
+ .HasMaxLength(120)
+ .HasColumnType("nvarchar(120)");
+
+ b.Property("PyrotechnicImplementationPlan")
+ .IsRequired()
+ .HasMaxLength(500)
+ .HasColumnType("nvarchar(500)");
+
+ b.HasKey("Id");
+
+ b.ToTable("Shows");
+ });
+
+ 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(60)
+ .HasColumnType("nvarchar(60)");
+
+ b.HasKey("Id");
+
+ b.ToTable("SoundCategories");
+ });
+
+ modelBuilder.Entity("PyroFetes.Models.SoundTimecode", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("End")
+ .HasColumnType("int");
+
+ b.Property("ShowId")
+ .HasColumnType("int");
+
+ b.Property("SoundId")
+ .HasColumnType("int");
+
+ b.Property("Start")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ShowId");
+
+ 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()
+ .HasColumnType("nvarchar(max)");
+
+ 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()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("City")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("DeliveryDelay")
+ .HasColumnType("int");
+
+ b.Property("Email")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.Property("Phone")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ 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")
+ .HasColumnType("float");
+
+ b.Property("ShowId")
+ .HasColumnType("int");
+
+ 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.HasIndex("ShowId");
+
+ b.ToTable("Trucks");
+ });
+
+ modelBuilder.Entity("PyroFetes.Models.User", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("Email")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Fonction")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.Property("Password")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Salt")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ 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()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("City")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ 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("Quantity")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Quantity"));
+
+ b.Property("ProductId")
+ .HasColumnType("int");
+
+ b.Property("WarehouseId")
+ .HasColumnType("int");
+
+ b.HasKey("Quantity");
+
+ b.HasIndex("ProductId");
+
+ b.HasIndex("WarehouseId");
+
+ b.ToTable("WarehouseProducts");
+ });
+
+ modelBuilder.Entity("ShowStaff", b =>
+ {
+ b.Property("ShowsId")
+ .HasColumnType("int");
+
+ b.Property("StaffId")
+ .HasColumnType("int");
+
+ b.HasKey("ShowsId", "StaffId");
+
+ b.HasIndex("StaffId");
+
+ b.ToTable("ShowStaff");
+ });
+
+ 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.Contact", b =>
+ {
+ b.HasOne("PyroFetes.Models.Communication", "Communication")
+ .WithMany()
+ .HasForeignKey("CommunicationId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Communication");
+ });
+
+ modelBuilder.Entity("PyroFetes.Models.Customer", b =>
+ {
+ b.HasOne("PyroFetes.Models.Contact", "Contact")
+ .WithMany()
+ .HasForeignKey("ContactId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("PyroFetes.Models.CustomerType", "CustomerType")
+ .WithMany("Customers")
+ .HasForeignKey("CustomerTypeId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Contact");
+
+ b.Navigation("CustomerType");
+ });
+
+ modelBuilder.Entity("PyroFetes.Models.CustomerContact", b =>
+ {
+ b.HasOne("PyroFetes.Models.Contact", "Contact")
+ .WithMany("CustomerContacts")
+ .HasForeignKey("ContactId")
+ .OnDelete(DeleteBehavior.NoAction)
+ .IsRequired();
+
+ b.HasOne("PyroFetes.Models.Customer", "Customer")
+ .WithMany("CustomerContacts")
+ .HasForeignKey("CustomerId")
+ .OnDelete(DeleteBehavior.NoAction)
+ .IsRequired();
+
+ b.Navigation("Contact");
+
+ b.Navigation("Customer");
+ });
+
+ 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.Material", b =>
+ {
+ b.HasOne("PyroFetes.Models.Warehouse", "Warehouse")
+ .WithMany("Materials")
+ .HasForeignKey("WarehouseId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ 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.Product", "Product")
+ .WithMany("Movements")
+ .HasForeignKey("ProductId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("PyroFetes.Models.Warehouse", "SourceWarehouse")
+ .WithMany("MovementsSource")
+ .HasForeignKey("SourceWarehouseId")
+ .OnDelete(DeleteBehavior.Restrict);
+
+ b.Navigation("DestinationWarehouse");
+
+ b.Navigation("Product");
+
+ b.Navigation("SourceWarehouse");
+ });
+
+ modelBuilder.Entity("PyroFetes.Models.Price", b =>
+ {
+ b.HasOne("PyroFetes.Models.Product", "Product")
+ .WithMany()
+ .HasForeignKey("ProductId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("PyroFetes.Models.Supplier", "Supplier")
+ .WithMany()
+ .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.ProductCategory", "ProductCategory")
+ .WithMany("Products")
+ .HasForeignKey("ProductCategoryId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Classification");
+
+ b.Navigation("ProductCategory");
+ });
+
+ modelBuilder.Entity("PyroFetes.Models.ProductColor", b =>
+ {
+ b.HasOne("PyroFetes.Models.Color", "Color")
+ .WithMany()
+ .HasForeignKey("ColorId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("PyroFetes.Models.Product", "Product")
+ .WithMany()
+ .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()
+ .HasForeignKey("DeliveryNoteId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("PyroFetes.Models.Product", "Product")
+ .WithMany()
+ .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()
+ .HasForeignKey("EffectId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("PyroFetes.Models.Product", "Product")
+ .WithMany()
+ .HasForeignKey("ProductId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Effect");
+
+ b.Navigation("Product");
+ });
+
+ modelBuilder.Entity("PyroFetes.Models.Provider", b =>
+ {
+ b.HasOne("PyroFetes.Models.ProviderType", "ProviderType")
+ .WithMany()
+ .HasForeignKey("ProviderTypeId");
+
+ b.Navigation("ProviderType");
+ });
+
+ modelBuilder.Entity("PyroFetes.Models.ProviderContact", b =>
+ {
+ b.HasOne("PyroFetes.Models.Contact", "Contact")
+ .WithMany()
+ .HasForeignKey("ContactId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("PyroFetes.Models.Provider", "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()
+ .HasForeignKey("ProductId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("PyroFetes.Models.PurchaseOrder", "PurchaseOrder")
+ .WithMany()
+ .HasForeignKey("PurchaseOrderId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Product");
+
+ b.Navigation("PurchaseOrder");
+ });
+
+ modelBuilder.Entity("PyroFetes.Models.QuotationProduct", b =>
+ {
+ b.HasOne("PyroFetes.Models.Product", "Product")
+ .WithMany()
+ .HasForeignKey("ProductId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("PyroFetes.Models.Quotation", "Quotation")
+ .WithMany()
+ .HasForeignKey("QuotationId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Product");
+
+ b.Navigation("Quotation");
+ });
+
+ modelBuilder.Entity("PyroFetes.Models.Sound", b =>
+ {
+ b.HasOne("PyroFetes.Models.SoundCategory", "Category")
+ .WithMany("Sounds")
+ .HasForeignKey("SoundCategoryId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Category");
+ });
+
+ modelBuilder.Entity("PyroFetes.Models.SoundTimecode", b =>
+ {
+ b.HasOne("PyroFetes.Models.Show", "Show")
+ .WithMany("SoundCues")
+ .HasForeignKey("ShowId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("PyroFetes.Models.Sound", "Sound")
+ .WithMany("ShowPlacements")
+ .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()
+ .HasForeignKey("AvailabilityId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("PyroFetes.Models.Staff", "Staff")
+ .WithMany()
+ .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()
+ .HasForeignKey("ContactId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("PyroFetes.Models.Staff", "Staff")
+ .WithMany()
+ .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()
+ .HasForeignKey("HistoryOfApprovalId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("PyroFetes.Models.Staff", "Staff")
+ .WithMany()
+ .HasForeignKey("StaffId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("HistoryOfApproval");
+
+ b.Navigation("Staff");
+ });
+
+ modelBuilder.Entity("PyroFetes.Models.Truck", b =>
+ {
+ b.HasOne("PyroFetes.Models.Show", "Show")
+ .WithMany("Trucks")
+ .HasForeignKey("ShowId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Show");
+ });
+
+ modelBuilder.Entity("PyroFetes.Models.WarehouseProduct", b =>
+ {
+ b.HasOne("PyroFetes.Models.Product", "Product")
+ .WithMany()
+ .HasForeignKey("ProductId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("PyroFetes.Models.Warehouse", "Warehouse")
+ .WithMany()
+ .HasForeignKey("WarehouseId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Product");
+
+ b.Navigation("Warehouse");
+ });
+
+ modelBuilder.Entity("ShowStaff", b =>
+ {
+ b.HasOne("PyroFetes.Models.Show", null)
+ .WithMany()
+ .HasForeignKey("ShowsId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("PyroFetes.Models.Staff", null)
+ .WithMany()
+ .HasForeignKey("StaffId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("PyroFetes.Models.Classification", b =>
+ {
+ b.Navigation("Products");
+ });
+
+ modelBuilder.Entity("PyroFetes.Models.Contact", b =>
+ {
+ b.Navigation("CustomerContacts");
+ });
+
+ modelBuilder.Entity("PyroFetes.Models.Customer", b =>
+ {
+ b.Navigation("CustomerContacts");
+ });
+
+ modelBuilder.Entity("PyroFetes.Models.CustomerType", b =>
+ {
+ b.Navigation("Customers");
+ });
+
+ modelBuilder.Entity("PyroFetes.Models.Deliverer", b =>
+ {
+ b.Navigation("DeliveryNotes");
+ });
+
+ modelBuilder.Entity("PyroFetes.Models.Product", b =>
+ {
+ b.Navigation("Brands");
+
+ b.Navigation("Movements");
+ });
+
+ modelBuilder.Entity("PyroFetes.Models.ProductCategory", b =>
+ {
+ b.Navigation("Products");
+ });
+
+ modelBuilder.Entity("PyroFetes.Models.Show", b =>
+ {
+ b.Navigation("SoundCues");
+
+ b.Navigation("Trucks");
+ });
+
+ modelBuilder.Entity("PyroFetes.Models.Sound", b =>
+ {
+ b.Navigation("ShowPlacements");
+ });
+
+ modelBuilder.Entity("PyroFetes.Models.SoundCategory", b =>
+ {
+ b.Navigation("Sounds");
+ });
+
+ modelBuilder.Entity("PyroFetes.Models.Warehouse", b =>
+ {
+ b.Navigation("Materials");
+
+ b.Navigation("MovementsDestination");
+
+ b.Navigation("MovementsSource");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/PyroFetes/Migrations/20251007094021_InitialDatabase.cs b/PyroFetes/Migrations/20251007094021_InitialDatabase.cs
new file mode 100644
index 0000000..0d226b1
--- /dev/null
+++ b/PyroFetes/Migrations/20251007094021_InitialDatabase.cs
@@ -0,0 +1,1199 @@
+using System;
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace PyroFetes.Migrations
+{
+ ///
+ public partial class InitialDatabase : Migration
+ {
+ ///
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.CreateTable(
+ name: "Availabilities",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ AvailabilityDate = table.Column(type: "nvarchar(max)", nullable: false),
+ DeliveryDate = table.Column(type: "date", nullable: false),
+ ExpirationDate = table.Column(type: "date", nullable: false),
+ RenewallDate = table.Column(type: "date", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Availabilities", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Classifications",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ Label = table.Column(type: "nvarchar(max)", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Classifications", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Colors",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ Label = table.Column(type: "nvarchar(max)", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Colors", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Communications",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ Calling = table.Column(type: "nvarchar(max)", nullable: false),
+ Email = table.Column(type: "nvarchar(max)", nullable: false),
+ Meeting = table.Column(type: "nvarchar(max)", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Communications", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "CustomerTypes",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ Price = table.Column(type: "decimal(18,2)", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_CustomerTypes", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Deliverers",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ Transporter = table.Column(type: "nvarchar(max)", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Deliverers", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Effects",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ Label = table.Column(type: "nvarchar(max)", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Effects", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "ExperienceLevels",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ Label = table.Column(type: "nvarchar(max)", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_ExperienceLevels", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "HistoryOfApprovals",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ ExpirationDate = table.Column(type: "date", nullable: false),
+ DeliveryDate = table.Column(type: "date", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_HistoryOfApprovals", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "ProductCategories",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ Label = table.Column(type: "nvarchar(max)", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_ProductCategories", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "ProviderTypes",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ Label = table.Column(type: "nvarchar(max)", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_ProviderTypes", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "PurchaseOrders",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ PurchaseConditions = table.Column(type: "nvarchar(max)", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_PurchaseOrders", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Quotations",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ Message = table.Column(type: "nvarchar(max)", nullable: false),
+ ConditionsSale = table.Column(type: "nvarchar(max)", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Quotations", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Settings",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ Logo = table.Column(type: "nvarchar(max)", nullable: false),
+ ElectronicSignature = table.Column(type: "nvarchar(max)", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Settings", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Shows",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ Name = table.Column(type: "nvarchar(max)", nullable: false),
+ Place = table.Column(type: "nvarchar(120)", maxLength: 120, nullable: false),
+ Description = table.Column(type: "nvarchar(500)", maxLength: 500, nullable: true),
+ PyrotechnicImplementationPlan = table.Column(type: "nvarchar(500)", maxLength: 500, nullable: false),
+ Date = table.Column(type: "datetime2", nullable: true)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Shows", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "SoundCategories",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ Name = table.Column(type: "nvarchar(60)", maxLength: 60, nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_SoundCategories", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Staffs",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ FirstName = table.Column