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(type: "int", nullable: false) - .Annotation("SqlServer:Identity", "1, 1"), - Name = table.Column(type: "nvarchar(100)", maxLength: 100, 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(type: "nvarchar(60)", maxLength: 60, nullable: false), - LastName = table.Column(type: "nvarchar(60)", maxLength: 60, nullable: false), - Profession = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), - Email = table.Column(type: "nvarchar(120)", maxLength: 120, nullable: false), - F4T2NumberApproval = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), - F4T2ExpirationDate = table.Column(type: "date", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Staffs", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "Suppliers", - 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), - Email = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), - Phone = table.Column(type: "nvarchar(30)", maxLength: 30, nullable: false), - Address = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), - ZipCode = table.Column(type: "int", nullable: false), - City = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), - DeliveryDelay = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Suppliers", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "Trucks", - columns: table => new - { - Id = table.Column(type: "int", nullable: false) - .Annotation("SqlServer:Identity", "1, 1"), - Type = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false), - MaxExplosiveCapacity = table.Column(type: "float", nullable: false), - Sizes = table.Column(type: "nvarchar(80)", maxLength: 80, nullable: false), - Status = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Trucks", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "Users", - 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), - Password = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), - Salt = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), - Email = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), - Fonction = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Users", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "Warehouses", - 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), - MaxWeight = table.Column(type: "int", nullable: false), - Current = table.Column(type: "int", nullable: false), - MinWeight = table.Column(type: "int", nullable: false), - Address = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), - ZipCode = table.Column(type: "int", nullable: false), - City = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Warehouses", 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(100)", maxLength: 100, nullable: false), - Place = table.Column(type: "nvarchar(120)", maxLength: 120, nullable: false), - Description = table.Column(type: "nvarchar(500)", maxLength: 500, nullable: true), - Date = table.Column(type: "date", nullable: true), - PyrotechnicImplementationPlan = table.Column(type: "nvarchar(500)", maxLength: 500, nullable: false), - CityId = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Shows", x => x.Id); - table.ForeignKey( - name: "FK_Shows_City_CityId", - column: x => x.CityId, - principalTable: "City", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "Customers", - columns: table => new - { - Id = table.Column(type: "int", nullable: false) - .Annotation("SqlServer:Identity", "1, 1"), - Note = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), - CustomerTypeId = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Customers", x => x.Id); - table.ForeignKey( - name: "FK_Customers_CustomerTypes_CustomerTypeId", - column: x => x.CustomerTypeId, - principalTable: "CustomerTypes", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "DeliveryNotes", - columns: table => new - { - Id = table.Column(type: "int", nullable: false) - .Annotation("SqlServer:Identity", "1, 1"), - TrackingNumber = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), - DelivererId = table.Column(type: "int", nullable: false), - EstimateDeliveryDate = table.Column(type: "date", nullable: false), - ExpeditionDate = table.Column(type: "date", nullable: false), - RealDeliveryDate = table.Column(type: "date", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_DeliveryNotes", x => x.Id); - table.ForeignKey( - name: "FK_DeliveryNotes_Deliverers_DelivererId", - column: x => x.DelivererId, - principalTable: "Deliverers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "Providers", - columns: table => new - { - Id = table.Column(type: "int", nullable: false) - .Annotation("SqlServer:Identity", "1, 1"), - Price = table.Column(type: "decimal(18,2)", nullable: false), - ProviderTypeId = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Providers", x => x.Id); - table.ForeignKey( - name: "FK_Providers_ProviderTypes_ProviderTypeId", - column: x => x.ProviderTypeId, - principalTable: "ProviderTypes", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "Sounds", - columns: table => new - { - Id = table.Column(type: "int", nullable: false) - .Annotation("SqlServer:Identity", "1, 1"), - Name = table.Column(type: "nvarchar(120)", maxLength: 120, nullable: false), - Type = table.Column(type: "nvarchar(60)", maxLength: 60, nullable: false), - Artist = table.Column(type: "nvarchar(120)", maxLength: 120, nullable: false), - Duration = table.Column(type: "int", nullable: false), - Kind = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false), - Format = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false), - CreationDate = table.Column(type: "datetime2", nullable: true), - SoundCategoryId = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Sounds", x => x.Id); - table.ForeignKey( - name: "FK_Sounds_SoundCategories_SoundCategoryId", - column: x => x.SoundCategoryId, - principalTable: "SoundCategories", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "ExperienceLevels", - 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), - StaffId = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_ExperienceLevels", x => x.Id); - table.ForeignKey( - name: "FK_ExperienceLevels_Staffs_StaffId", - column: x => x.StaffId, - principalTable: "Staffs", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "StaffAvailabilities", - columns: table => new - { - StaffId = table.Column(type: "int", nullable: false), - AvailabilityId = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_StaffAvailabilities", x => new { x.AvailabilityId, x.StaffId }); - table.ForeignKey( - name: "FK_StaffAvailabilities_Availabilities_AvailabilityId", - column: x => x.AvailabilityId, - principalTable: "Availabilities", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_StaffAvailabilities_Staffs_StaffId", - column: x => x.StaffId, - principalTable: "Staffs", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "StaffHistoryOfApprovals", - columns: table => new - { - StaffId = table.Column(type: "int", nullable: false), - HistoryOfApprovalId = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_StaffHistoryOfApprovals", x => new { x.HistoryOfApprovalId, x.StaffId }); - table.ForeignKey( - name: "FK_StaffHistoryOfApprovals_HistoryOfApprovals_HistoryOfApprovalId", - column: x => x.HistoryOfApprovalId, - principalTable: "HistoryOfApprovals", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_StaffHistoryOfApprovals_Staffs_StaffId", - column: x => x.StaffId, - principalTable: "Staffs", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "Materials", - 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), - Quantity = table.Column(type: "int", nullable: false), - WarehouseId = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Materials", x => x.Id); - table.ForeignKey( - name: "FK_Materials_Warehouses_WarehouseId", - column: x => x.WarehouseId, - principalTable: "Warehouses", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "Movements", - columns: table => new - { - Id = table.Column(type: "int", nullable: false) - .Annotation("SqlServer:Identity", "1, 1"), - Date = table.Column(type: "datetime2", nullable: false), - Start = table.Column(type: "datetime2", nullable: false), - Arrival = table.Column(type: "datetime2", nullable: false), - Quantity = table.Column(type: "int", nullable: false), - SourceWarehouseId = table.Column(type: "int", nullable: true), - DestinationWarehouseId = table.Column(type: "int", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_Movements", x => x.Id); - table.ForeignKey( - name: "FK_Movements_Warehouses_DestinationWarehouseId", - column: x => x.DestinationWarehouseId, - principalTable: "Warehouses", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - table.ForeignKey( - name: "FK_Movements_Warehouses_SourceWarehouseId", - column: x => x.SourceWarehouseId, - principalTable: "Warehouses", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "ShowStaff", - columns: table => new - { - StaffId = table.Column(type: "int", nullable: false), - ShowId = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_ShowStaff", x => new { x.StaffId, x.ShowId }); - table.ForeignKey( - name: "FK_ShowStaff_Shows_ShowId", - column: x => x.ShowId, - principalTable: "Shows", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_ShowStaff_Staffs_StaffId", - column: x => x.StaffId, - principalTable: "Staffs", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "ShowTruck", - columns: table => new - { - ShowId = table.Column(type: "int", nullable: false), - TruckId = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_ShowTruck", x => new { x.ShowId, x.TruckId }); - table.ForeignKey( - name: "FK_ShowTruck_Shows_ShowId", - column: x => x.ShowId, - principalTable: "Shows", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_ShowTruck_Trucks_TruckId", - column: x => x.TruckId, - principalTable: "Trucks", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "Contacts", - columns: table => new - { - Id = table.Column(type: "int", nullable: false) - .Annotation("SqlServer:Identity", "1, 1"), - LastName = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), - FirstName = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), - Email = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), - PhoneNumber = table.Column(type: "nvarchar(30)", maxLength: 30, nullable: false), - Address = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), - ZipCode = table.Column(type: "int", nullable: false), - City = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), - Role = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), - CustomerId = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Contacts", x => x.Id); - table.ForeignKey( - name: "FK_Contacts_Customers_CustomerId", - column: x => x.CustomerId, - principalTable: "Customers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "Quotations", - columns: table => new - { - Id = table.Column(type: "int", nullable: false) - .Annotation("SqlServer:Identity", "1, 1"), - Message = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), - ConditionsSale = table.Column(type: "nvarchar(300)", maxLength: 300, nullable: false), - CustomerId = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Quotations", x => x.Id); - table.ForeignKey( - name: "FK_Quotations_Customers_CustomerId", - column: x => x.CustomerId, - principalTable: "Customers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "Contract", - columns: table => new - { - ShowId = table.Column(type: "int", nullable: false), - ServiceProviderId = table.Column(type: "int", nullable: false), - TermsAndConditions = table.Column(type: "nvarchar(max)", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Contract", x => new { x.ShowId, x.ServiceProviderId }); - table.ForeignKey( - name: "FK_Contract_Providers_ServiceProviderId", - column: x => x.ServiceProviderId, - principalTable: "Providers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_Contract_Shows_ShowId", - column: x => x.ShowId, - principalTable: "Shows", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "SoundTimecodes", - columns: table => new - { - ShowId = table.Column(type: "int", nullable: false), - SoundId = table.Column(type: "int", nullable: false), - Start = table.Column(type: "decimal(18,2)", nullable: false), - End = table.Column(type: "decimal(18,2)", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_SoundTimecodes", x => new { x.ShowId, x.SoundId }); - table.ForeignKey( - name: "FK_SoundTimecodes_Shows_ShowId", - column: x => x.ShowId, - principalTable: "Shows", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_SoundTimecodes_Sounds_SoundId", - column: x => x.SoundId, - principalTable: "Sounds", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "MaterialWarehouse", - columns: table => new - { - MaterialId = table.Column(type: "int", nullable: false), - WarehouseId = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_MaterialWarehouse", x => new { x.MaterialId, x.WarehouseId }); - table.ForeignKey( - name: "FK_MaterialWarehouse_Materials_MaterialId", - column: x => x.MaterialId, - principalTable: "Materials", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - table.ForeignKey( - name: "FK_MaterialWarehouse_Warehouses_WarehouseId", - column: x => x.WarehouseId, - principalTable: "Warehouses", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "ShowMaterial", - columns: table => new - { - ShowId = table.Column(type: "int", nullable: false), - MaterialId = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_ShowMaterial", x => new { x.ShowId, x.MaterialId }); - table.ForeignKey( - name: "FK_ShowMaterial_Materials_MaterialId", - column: x => x.MaterialId, - principalTable: "Materials", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_ShowMaterial_Shows_ShowId", - column: x => x.ShowId, - principalTable: "Shows", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "Products", - columns: table => new - { - Id = table.Column(type: "int", nullable: false) - .Annotation("SqlServer:Identity", "1, 1"), - References = table.Column(type: "int", nullable: false), - Name = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), - Duration = table.Column(type: "decimal(18,2)", nullable: false), - Caliber = table.Column(type: "decimal(18,2)", nullable: false), - ApprovalNumber = table.Column(type: "int", nullable: false), - Weight = table.Column(type: "decimal(18,2)", nullable: false), - Nec = table.Column(type: "decimal(18,2)", nullable: false), - SellingPrice = table.Column(type: "decimal(18,2)", nullable: false), - Image = table.Column(type: "nvarchar(max)", nullable: false), - Link = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), - MinimalQuantity = table.Column(type: "int", nullable: false), - ClassificationId = table.Column(type: "int", nullable: false), - ProductCategoryId = table.Column(type: "int", nullable: false), - MovementId = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Products", x => x.Id); - table.ForeignKey( - name: "FK_Products_Classifications_ClassificationId", - column: x => x.ClassificationId, - principalTable: "Classifications", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_Products_Movements_MovementId", - column: x => x.MovementId, - principalTable: "Movements", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_Products_ProductCategories_ProductCategoryId", - column: x => x.ProductCategoryId, - principalTable: "ProductCategories", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "Communications", - columns: table => new - { - Id = table.Column(type: "int", nullable: false) - .Annotation("SqlServer:Identity", "1, 1"), - Calling = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), - Email = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), - Meeting = table.Column(type: "nvarchar(300)", maxLength: 300, nullable: false), - ContactId = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Communications", x => x.Id); - table.ForeignKey( - name: "FK_Communications_Contacts_ContactId", - column: x => x.ContactId, - principalTable: "Contacts", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "ContactServiceProvider", - columns: table => new - { - ContactId = table.Column(type: "int", nullable: false), - ServiceProviderId = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_ContactServiceProvider", x => new { x.ContactId, x.ServiceProviderId }); - table.ForeignKey( - name: "FK_ContactServiceProvider_Contacts_ContactId", - column: x => x.ContactId, - principalTable: "Contacts", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_ContactServiceProvider_Providers_ServiceProviderId", - column: x => x.ServiceProviderId, - principalTable: "Providers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "ProviderContacts", - columns: table => new - { - ProviderId = table.Column(type: "int", nullable: false), - ContactId = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_ProviderContacts", x => new { x.ContactId, x.ProviderId }); - table.ForeignKey( - name: "FK_ProviderContacts_Contacts_ContactId", - column: x => x.ContactId, - principalTable: "Contacts", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_ProviderContacts_Providers_ProviderId", - column: x => x.ProviderId, - principalTable: "Providers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "StaffContacts", - columns: table => new - { - StaffId = table.Column(type: "int", nullable: false), - ContactId = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_StaffContacts", x => new { x.ContactId, x.StaffId }); - table.ForeignKey( - name: "FK_StaffContacts_Contacts_ContactId", - column: x => x.ContactId, - principalTable: "Contacts", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_StaffContacts_Staffs_StaffId", - column: x => x.StaffId, - principalTable: "Staffs", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "Brands", - 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), - ProductId = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Brands", x => x.Id); - table.ForeignKey( - name: "FK_Brands_Products_ProductId", - column: x => x.ProductId, - principalTable: "Products", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "Prices", - columns: table => new - { - ProductId = table.Column(type: "int", nullable: false), - SupplierId = table.Column(type: "int", nullable: false), - SellingPrice = table.Column(type: "decimal(18,2)", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Prices", x => new { x.ProductId, x.SupplierId }); - table.ForeignKey( - name: "FK_Prices_Products_ProductId", - column: x => x.ProductId, - principalTable: "Products", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_Prices_Suppliers_SupplierId", - column: x => x.SupplierId, - principalTable: "Suppliers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "ProductColors", - columns: table => new - { - ProductId = table.Column(type: "int", nullable: false), - ColorId = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_ProductColors", x => new { x.ProductId, x.ColorId }); - table.ForeignKey( - name: "FK_ProductColors_Colors_ColorId", - column: x => x.ColorId, - principalTable: "Colors", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_ProductColors_Products_ProductId", - column: x => x.ProductId, - principalTable: "Products", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "ProductDeliveries", - columns: table => new - { - ProductId = table.Column(type: "int", nullable: false), - DeliveryNoteId = table.Column(type: "int", nullable: false), - Quantity = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_ProductDeliveries", x => new { x.ProductId, x.DeliveryNoteId }); - table.ForeignKey( - name: "FK_ProductDeliveries_DeliveryNotes_DeliveryNoteId", - column: x => x.DeliveryNoteId, - principalTable: "DeliveryNotes", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_ProductDeliveries_Products_ProductId", - column: x => x.ProductId, - principalTable: "Products", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "ProductEffects", - columns: table => new - { - ProductId = table.Column(type: "int", nullable: false), - EffectId = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_ProductEffects", x => new { x.ProductId, x.EffectId }); - table.ForeignKey( - name: "FK_ProductEffects_Effects_EffectId", - column: x => x.EffectId, - principalTable: "Effects", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_ProductEffects_Products_ProductId", - column: x => x.ProductId, - principalTable: "Products", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "ProductTimecode", - columns: table => new - { - ProductId = table.Column(type: "int", nullable: false), - ShowId = table.Column(type: "int", nullable: false), - Start = table.Column(type: "decimal(18,2)", nullable: false), - End = table.Column(type: "decimal(18,2)", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_ProductTimecode", x => new { x.ProductId, x.ShowId }); - table.ForeignKey( - name: "FK_ProductTimecode_Products_ProductId", - column: x => x.ProductId, - principalTable: "Products", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_ProductTimecode_Shows_ShowId", - column: x => x.ShowId, - principalTable: "Shows", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "PurchaseProducts", - columns: table => new - { - ProductId = table.Column(type: "int", nullable: false), - PurchaseOrderId = table.Column(type: "int", nullable: false), - Quantity = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_PurchaseProducts", x => new { x.ProductId, x.PurchaseOrderId }); - table.ForeignKey( - name: "FK_PurchaseProducts_Products_ProductId", - column: x => x.ProductId, - principalTable: "Products", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_PurchaseProducts_PurchaseOrders_PurchaseOrderId", - column: x => x.PurchaseOrderId, - principalTable: "PurchaseOrders", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "QuotationProducts", - columns: table => new - { - ProductId = table.Column(type: "int", nullable: false), - QuotationId = table.Column(type: "int", nullable: false), - Quantity = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_QuotationProducts", x => new { x.ProductId, x.QuotationId }); - table.ForeignKey( - name: "FK_QuotationProducts_Products_ProductId", - column: x => x.ProductId, - principalTable: "Products", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_QuotationProducts_Quotations_QuotationId", - column: x => x.QuotationId, - principalTable: "Quotations", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "WarehouseProducts", - columns: table => new - { - ProductId = table.Column(type: "int", nullable: false), - WarehouseId = table.Column(type: "int", nullable: false), - Quantity = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_WarehouseProducts", x => new { x.ProductId, x.WarehouseId }); - table.ForeignKey( - name: "FK_WarehouseProducts_Products_ProductId", - column: x => x.ProductId, - principalTable: "Products", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_WarehouseProducts_Warehouses_WarehouseId", - column: x => x.WarehouseId, - principalTable: "Warehouses", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateIndex( - name: "IX_Brands_ProductId", - table: "Brands", - column: "ProductId"); - - migrationBuilder.CreateIndex( - name: "IX_Communications_ContactId", - table: "Communications", - column: "ContactId"); - - migrationBuilder.CreateIndex( - name: "IX_Contacts_CustomerId", - table: "Contacts", - column: "CustomerId"); - - migrationBuilder.CreateIndex( - name: "IX_ContactServiceProvider_ServiceProviderId", - table: "ContactServiceProvider", - column: "ServiceProviderId"); - - migrationBuilder.CreateIndex( - name: "IX_Contract_ServiceProviderId", - table: "Contract", - column: "ServiceProviderId"); - - migrationBuilder.CreateIndex( - name: "IX_Customers_CustomerTypeId", - table: "Customers", - column: "CustomerTypeId"); - - migrationBuilder.CreateIndex( - name: "IX_DeliveryNotes_DelivererId", - table: "DeliveryNotes", - column: "DelivererId"); - - migrationBuilder.CreateIndex( - name: "IX_ExperienceLevels_StaffId", - table: "ExperienceLevels", - column: "StaffId"); - - migrationBuilder.CreateIndex( - name: "IX_Materials_WarehouseId", - table: "Materials", - column: "WarehouseId"); - - migrationBuilder.CreateIndex( - name: "IX_MaterialWarehouse_WarehouseId", - table: "MaterialWarehouse", - column: "WarehouseId"); - - migrationBuilder.CreateIndex( - name: "IX_Movements_DestinationWarehouseId", - table: "Movements", - column: "DestinationWarehouseId"); - - migrationBuilder.CreateIndex( - name: "IX_Movements_SourceWarehouseId", - table: "Movements", - column: "SourceWarehouseId"); - - migrationBuilder.CreateIndex( - name: "IX_Prices_SupplierId", - table: "Prices", - column: "SupplierId"); - - migrationBuilder.CreateIndex( - name: "IX_ProductColors_ColorId", - table: "ProductColors", - column: "ColorId"); - - migrationBuilder.CreateIndex( - name: "IX_ProductDeliveries_DeliveryNoteId", - table: "ProductDeliveries", - column: "DeliveryNoteId"); - - migrationBuilder.CreateIndex( - name: "IX_ProductEffects_EffectId", - table: "ProductEffects", - column: "EffectId"); - - migrationBuilder.CreateIndex( - name: "IX_Products_ClassificationId", - table: "Products", - column: "ClassificationId"); - - migrationBuilder.CreateIndex( - name: "IX_Products_MovementId", - table: "Products", - column: "MovementId"); - - migrationBuilder.CreateIndex( - name: "IX_Products_ProductCategoryId", - table: "Products", - column: "ProductCategoryId"); - - migrationBuilder.CreateIndex( - name: "IX_ProductTimecode_ShowId", - table: "ProductTimecode", - column: "ShowId"); - - migrationBuilder.CreateIndex( - name: "IX_ProviderContacts_ProviderId", - table: "ProviderContacts", - column: "ProviderId"); - - migrationBuilder.CreateIndex( - name: "IX_Providers_ProviderTypeId", - table: "Providers", - column: "ProviderTypeId"); - - migrationBuilder.CreateIndex( - name: "IX_PurchaseProducts_PurchaseOrderId", - table: "PurchaseProducts", - column: "PurchaseOrderId"); - - migrationBuilder.CreateIndex( - name: "IX_QuotationProducts_QuotationId", - table: "QuotationProducts", - column: "QuotationId"); - - migrationBuilder.CreateIndex( - name: "IX_Quotations_CustomerId", - table: "Quotations", - column: "CustomerId"); - - migrationBuilder.CreateIndex( - name: "IX_ShowMaterial_MaterialId", - table: "ShowMaterial", - column: "MaterialId"); - - migrationBuilder.CreateIndex( - name: "IX_Shows_CityId", - table: "Shows", - column: "CityId"); - - migrationBuilder.CreateIndex( - name: "IX_ShowStaff_ShowId", - table: "ShowStaff", - column: "ShowId"); - - migrationBuilder.CreateIndex( - name: "IX_ShowTruck_TruckId", - table: "ShowTruck", - column: "TruckId"); - - migrationBuilder.CreateIndex( - name: "IX_Sounds_SoundCategoryId", - table: "Sounds", - column: "SoundCategoryId"); - - migrationBuilder.CreateIndex( - name: "IX_SoundTimecodes_SoundId", - table: "SoundTimecodes", - column: "SoundId"); - - migrationBuilder.CreateIndex( - name: "IX_StaffAvailabilities_StaffId", - table: "StaffAvailabilities", - column: "StaffId"); - - migrationBuilder.CreateIndex( - name: "IX_StaffContacts_StaffId", - table: "StaffContacts", - column: "StaffId"); - - migrationBuilder.CreateIndex( - name: "IX_StaffHistoryOfApprovals_StaffId", - table: "StaffHistoryOfApprovals", - column: "StaffId"); - - migrationBuilder.CreateIndex( - name: "IX_WarehouseProducts_WarehouseId", - table: "WarehouseProducts", - column: "WarehouseId"); - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "Brands"); - - migrationBuilder.DropTable( - name: "Communications"); - - migrationBuilder.DropTable( - name: "ContactServiceProvider"); - - migrationBuilder.DropTable( - name: "Contract"); - - migrationBuilder.DropTable( - name: "ExperienceLevels"); - - migrationBuilder.DropTable( - name: "MaterialWarehouse"); - - migrationBuilder.DropTable( - name: "Prices"); - - migrationBuilder.DropTable( - name: "ProductColors"); - - migrationBuilder.DropTable( - name: "ProductDeliveries"); - - migrationBuilder.DropTable( - name: "ProductEffects"); - - migrationBuilder.DropTable( - name: "ProductTimecode"); - - migrationBuilder.DropTable( - name: "ProviderContacts"); - - migrationBuilder.DropTable( - name: "PurchaseProducts"); - - migrationBuilder.DropTable( - name: "QuotationProducts"); - - migrationBuilder.DropTable( - name: "Settings"); - - migrationBuilder.DropTable( - name: "ShowMaterial"); - - migrationBuilder.DropTable( - name: "ShowStaff"); - - migrationBuilder.DropTable( - name: "ShowTruck"); - - migrationBuilder.DropTable( - name: "SoundTimecodes"); - - migrationBuilder.DropTable( - name: "StaffAvailabilities"); - - migrationBuilder.DropTable( - name: "StaffContacts"); - - migrationBuilder.DropTable( - name: "StaffHistoryOfApprovals"); - - migrationBuilder.DropTable( - name: "Users"); - - migrationBuilder.DropTable( - name: "WarehouseProducts"); - - migrationBuilder.DropTable( - name: "Suppliers"); - - migrationBuilder.DropTable( - name: "Colors"); - - migrationBuilder.DropTable( - name: "DeliveryNotes"); - - migrationBuilder.DropTable( - name: "Effects"); - - migrationBuilder.DropTable( - name: "Providers"); - - migrationBuilder.DropTable( - name: "PurchaseOrders"); - - migrationBuilder.DropTable( - name: "Quotations"); - - migrationBuilder.DropTable( - name: "Materials"); - - migrationBuilder.DropTable( - name: "Trucks"); - - migrationBuilder.DropTable( - name: "Shows"); - - migrationBuilder.DropTable( - name: "Sounds"); - - migrationBuilder.DropTable( - name: "Availabilities"); - - migrationBuilder.DropTable( - name: "Contacts"); - - migrationBuilder.DropTable( - name: "HistoryOfApprovals"); - - migrationBuilder.DropTable( - name: "Staffs"); - - migrationBuilder.DropTable( - name: "Products"); - - migrationBuilder.DropTable( - name: "Deliverers"); - - migrationBuilder.DropTable( - name: "ProviderTypes"); - - migrationBuilder.DropTable( - name: "City"); - - migrationBuilder.DropTable( - name: "SoundCategories"); - - migrationBuilder.DropTable( - name: "Customers"); - - migrationBuilder.DropTable( - name: "Classifications"); - - migrationBuilder.DropTable( - name: "Movements"); - - migrationBuilder.DropTable( - name: "ProductCategories"); - - migrationBuilder.DropTable( - name: "CustomerTypes"); - - migrationBuilder.DropTable( - name: "Warehouses"); - } - } -} diff --git a/PyroFetes/Migrations/PyroFetesDbContextModelSnapshot.cs b/PyroFetes/Migrations/PyroFetesDbContextModelSnapshot.cs deleted file mode 100644 index 1f414fb..0000000 --- a/PyroFetes/Migrations/PyroFetesDbContextModelSnapshot.cs +++ /dev/null @@ -1,1948 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using PyroFetes; - -#nullable disable - -namespace PyroFetes.Migrations -{ - [DbContext(typeof(PyroFetesDbContext))] - partial class PyroFetesDbContextModelSnapshot : ModelSnapshot - { - protected override void BuildModel(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/Program.cs b/PyroFetes/Program.cs index 92fd763..f0c1dd2 100644 --- a/PyroFetes/Program.cs +++ b/PyroFetes/Program.cs @@ -4,40 +4,39 @@ using PyroFetes; WebApplicationBuilder builder = WebApplication.CreateBuilder(args); -//builder.Services -// .AddAuthenticationJwtBearer(s => s.SigningKey = "Thesecretusedtosigntokens") -// .AddAuthentication(); - +// Services builder.Services.AddCors(options => options.AddDefaultPolicy(policyBuilder => - policyBuilder.WithOrigins("http://localhost:61021") + policyBuilder + .WithOrigins("http://localhost:4200") // mettre le port Angular exact .WithMethods("GET", "POST", "PUT", "PATCH", "DELETE") .AllowAnyHeader() ) -); -//builder.Services.AddAuthorization(); +); - -builder.Services.AddFastEndpoints().SwaggerDocument( - options => - { - options.ShortSchemaNames = true; - }); +builder.Services.AddFastEndpoints().SwaggerDocument(options => +{ + options.ShortSchemaNames = true; +}); builder.Services.AddDbContext(); WebApplication app = builder.Build(); -// app.UseAuthorization() -// .UseAuthentication(); -app.UseFastEndpoints(options => - { - options.Endpoints.RoutePrefix = "API"; - options.Endpoints.ShortNames = true; - } -).UseSwaggerGen(); +// Middleware app.UseHttpsRedirection(); +// CORS doit être avant les endpoints app.UseCors(); +// FastEndpoints et Swagger +app.UseFastEndpoints(options => +{ + options.Endpoints.RoutePrefix = "API"; + options.Endpoints.ShortNames = true; +}).UseSwaggerGen(); + +// app.UseAuthorization(); +// app.UseAuthentication(); + app.Run(); \ No newline at end of file diff --git a/PyroFetes/PyroFetes.csproj b/PyroFetes/PyroFetes.csproj index 9f5e23f..a74e16b 100644 --- a/PyroFetes/PyroFetes.csproj +++ b/PyroFetes/PyroFetes.csproj @@ -22,4 +22,8 @@ + + + +