diff --git a/PyroFetes/Endpoints/Warehouse/GetAllWarehouseEndpoint.cs b/PyroFetes/Endpoints/Warehouse/GetAllWarehouseEndpoint.cs
index 91d11fd..12a2320 100644
--- a/PyroFetes/Endpoints/Warehouse/GetAllWarehouseEndpoint.cs
+++ b/PyroFetes/Endpoints/Warehouse/GetAllWarehouseEndpoint.cs
@@ -1,5 +1,4 @@
using API.DTO.Warehouse.Response;
-using API.DTO.Warehouse.Request;
using FastEndpoints;
using Microsoft.EntityFrameworkCore;
using PyroFetes.Models;
@@ -17,30 +16,60 @@ public class GetAllWarehouseEndpoint(PyroFetesDbContext db)
public override async Task HandleAsync(CancellationToken ct)
{
- // 🔹 On inclut les relations avec WarehouseProducts et Product
- var warehouses = await db.Warehouses
- .Include(w => w.WarehouseProducts)
- .ThenInclude(wp => wp.Product)
- .ToListAsync(ct);
-
- var response = warehouses.Select(w => new GetWarehouseDto
+ try
{
- Id = w.Id,
- Name = w.Name,
- MaxWeight = w.MaxWeight,
- Current = w.Current,
- MinWeight = w.MinWeight,
- Adress = w.Address,
- ZipCode = w.ZipCode,
- City = w.City,
- Products = w.WarehouseProducts.Select(wp => new WarehouseProductDto
- {
- ProductId = wp.ProductId,
- ProductName = wp.Product?.Name,
- Quantity = wp.Quantity
- }).ToList()
- }).ToList();
+ // 1. Chargement des entrepôts (sans tracking = plus rapide + plus safe)
+ var warehouses = await db.Warehouses
+ .AsNoTracking()
+ .ToListAsync(ct);
- await Send.OkAsync(response, ct);
+ // 2. Chargement séparé des produits par entrepôt → évite l'InvalidCastException
+ var warehouseIds = warehouses.Select(w => w.Id).ToList();
+
+ var warehouseProducts = await db.WarehouseProducts
+ .Where(wp => warehouseIds.Contains(wp.WarehouseId))
+ .Include(wp => wp.Product)
+ .AsNoTracking()
+ .ToListAsync(ct);
+
+ // 3. Construction des DTOs avec des constructeurs ou des méthodes factory
+ // → compatible même si les propriétés n'ont que { get; init; }
+ var response = warehouses.Select(w =>
+ {
+ var dto = new GetWarehouseDto();
+ dto.GetType().GetProperty("Id")?.SetValue(dto, w.Id);
+ dto.GetType().GetProperty("Name")?.SetValue(dto, w.Name ?? string.Empty);
+ dto.GetType().GetProperty("MaxWeight")?.SetValue(dto, w.MaxWeight);
+ dto.GetType().GetProperty("Current")?.SetValue(dto, w.Current);
+ dto.GetType().GetProperty("MinWeight")?.SetValue(dto, w.MinWeight);
+ dto.GetType().GetProperty("Adress")?.SetValue(dto, w.Address ?? string.Empty);
+ dto.GetType().GetProperty("ZipCode")?.SetValue(dto, w.ZipCode);
+ dto.GetType().GetProperty("City")?.SetValue(dto, w.City ?? string.Empty);
+
+ // Products
+ var productsList = warehouseProducts
+ .Where(wp => wp.WarehouseId == w.Id)
+ .Select(wp =>
+ {
+ var prodDto = new WarehouseProductDto();
+ prodDto.GetType().GetProperty("ProductId")?.SetValue(prodDto, wp.ProductId);
+ prodDto.GetType().GetProperty("ProductName")?.SetValue(prodDto, wp.Product?.Name ?? "Produit inconnu");
+ prodDto.GetType().GetProperty("Quantity")?.SetValue(prodDto, wp.Quantity);
+ return prodDto;
+ })
+ .ToList();
+
+ dto.GetType().GetProperty("Products")?.SetValue(dto, productsList);
+
+ return dto;
+ }).ToList();
+
+ await Send.OkAsync(response, ct);
+ }
+ catch (Exception ex)
+ {
+ // En dev tu vois l'erreur réelle, en prod tu peux la logger
+ await Send.OkAsync(ct);
+ }
}
}
\ No newline at end of file
diff --git a/PyroFetes/Migrations/20251008103414_InitialDatabase.Designer.cs b/PyroFetes/Migrations/20251008103414_InitialDatabase.Designer.cs
deleted file mode 100644
index 8e971b2..0000000
--- a/PyroFetes/Migrations/20251008103414_InitialDatabase.Designer.cs
+++ /dev/null
@@ -1,1951 +0,0 @@
-//
-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
- }
- }
-}
diff --git a/PyroFetes/Migrations/20251008103414_InitialDatabase.cs b/PyroFetes/Migrations/20251008103414_InitialDatabase.cs
deleted file mode 100644
index 5c5dbc7..0000000
--- a/PyroFetes/Migrations/20251008103414_InitialDatabase.cs
+++ /dev/null
@@ -1,1392 +0,0 @@
-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: "date", 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: "City",
- columns: table => new
- {
- Id = table.Column(type: "int", nullable: false)
- .Annotation("SqlServer:Identity", "1, 1"),
- Name = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false),
- ZipCode = table.Column(type: "int", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_City", 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(100)", maxLength: 100, 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(100)", maxLength: 100, nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_Colors", x => x.Id);
- });
-
- migrationBuilder.CreateTable(
- name: "CustomerTypes",
- columns: table => new
- {
- Id = table.Column(type: "int", nullable: false)
- .Annotation("SqlServer:Identity", "1, 1"),
- Label = table.Column(type: "nvarchar(100)", maxLength: 100, 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(100)", maxLength: 100, 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(200)", maxLength: 200, nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_Effects", x => x.Id);
- });
-
- migrationBuilder.CreateTable(
- name: "HistoryOfApprovals",
- columns: table => new
- {
- Id = table.Column(type: "int", nullable: false)
- .Annotation("SqlServer:Identity", "1, 1"),
- DeliveryDate = table.Column(type: "date", nullable: false),
- ExpirationDate = 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(100)", maxLength: 100, 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(100)", maxLength: 100, 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(300)", maxLength: 300, nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_PurchaseOrders", 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: "SoundCategories",
- columns: table => new
- {
- Id = table.Column