forked from sanchezvem/PyroFetes
Merge branch 'feature/migrations' into develop
This commit is contained in:
1951
PyroFetes/Migrations/20251008103414_InitialDatabase.Designer.cs
generated
Normal file
1951
PyroFetes/Migrations/20251008103414_InitialDatabase.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
1392
PyroFetes/Migrations/20251008103414_InitialDatabase.cs
Normal file
1392
PyroFetes/Migrations/20251008103414_InitialDatabase.cs
Normal file
File diff suppressed because it is too large
Load Diff
1948
PyroFetes/Migrations/PyroFetesDbContextModelSnapshot.cs
Normal file
1948
PyroFetes/Migrations/PyroFetesDbContextModelSnapshot.cs
Normal file
File diff suppressed because it is too large
Load Diff
@@ -4,9 +4,11 @@ namespace PyroFetes.Models;
|
|||||||
|
|
||||||
public class Availability
|
public class Availability
|
||||||
{
|
{
|
||||||
[Key] public int Id { get; set; }
|
[Key] public int Id { get; set; }
|
||||||
[Required] public string? AvailabilityDate { get; set; }
|
[Required] public DateOnly AvailabilityDate { get; set; }
|
||||||
[Required] public DateOnly DeliveryDate { get; set; }
|
[Required] public DateOnly DeliveryDate { get; set; }
|
||||||
[Required] public DateOnly ExpirationDate { get; set; }
|
[Required] public DateOnly ExpirationDate { get; set; }
|
||||||
[Required] public DateOnly RenewallDate { get; set; }
|
[Required] public DateOnly RenewallDate { get; set; }
|
||||||
|
|
||||||
|
public List<StaffAvailability>? StaffAvailabilities { get; set; }
|
||||||
}
|
}
|
12
PyroFetes/Models/City.cs
Normal file
12
PyroFetes/Models/City.cs
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace PyroFetes.Models;
|
||||||
|
|
||||||
|
public class City
|
||||||
|
{
|
||||||
|
[Key] public int Id { get; set; }
|
||||||
|
[Required, MaxLength(100)] public string? Name { get; set; }
|
||||||
|
[Required] public int ZipCode { get; set; }
|
||||||
|
|
||||||
|
public List<Show>? Shows { get; set; }
|
||||||
|
}
|
@@ -5,7 +5,7 @@ namespace PyroFetes.Models;
|
|||||||
public class Classification
|
public class Classification
|
||||||
{
|
{
|
||||||
[Key] public int Id { get; set; }
|
[Key] public int Id { get; set; }
|
||||||
[Required] public string? Label { get; set; }
|
[Required, MaxLength(100)] public string? Label { get; set; }
|
||||||
|
|
||||||
[Required] public List<Product>? Products { get; set; }
|
public List<Product>? Products { get; set; }
|
||||||
}
|
}
|
@@ -5,6 +5,7 @@ namespace PyroFetes.Models;
|
|||||||
public class Color
|
public class Color
|
||||||
{
|
{
|
||||||
[Key] public int Id { get; set; }
|
[Key] public int Id { get; set; }
|
||||||
[Required] public string? Label { get; set; }
|
[Required, MaxLength(100)] public string? Label { get; set; }
|
||||||
|
|
||||||
|
public List<ProductColor>? ProductColors { get; set; }
|
||||||
}
|
}
|
@@ -5,9 +5,10 @@ namespace PyroFetes.Models;
|
|||||||
public class Communication
|
public class Communication
|
||||||
{
|
{
|
||||||
[Key] public int Id { get; set; }
|
[Key] public int Id { get; set; }
|
||||||
[Required] public string? Calling { get; set; }
|
[Required, MaxLength(100)] public string? Calling { get; set; }
|
||||||
[Required] public string? Email { get; set; }
|
[Required, MaxLength(100)] public string? Email { get; set; }
|
||||||
[Required] public string? Meeting { get; set; }
|
[Required, MaxLength(300)] public string? Meeting { get; set; }
|
||||||
|
|
||||||
//REL
|
[Required] public int ContactId { get; set; }
|
||||||
|
public Contact? Contact { get; set; }
|
||||||
}
|
}
|
@@ -7,14 +7,17 @@ public class Contact
|
|||||||
[Key] public int Id { get; set; }
|
[Key] public int Id { get; set; }
|
||||||
[Required, MaxLength(100)] public string? LastName { get; set; }
|
[Required, MaxLength(100)] public string? LastName { get; set; }
|
||||||
[Required, MaxLength(100)] public string? FirstName { get; set; }
|
[Required, MaxLength(100)] public string? FirstName { get; set; }
|
||||||
[Required] public string? Email { get; set; }
|
[Required, MaxLength(100)] public string? Email { get; set; }
|
||||||
[Required] public string? PhoneNumber { get; set; }
|
[Required, MaxLength(30)] public string? PhoneNumber { get; set; }
|
||||||
[Required] public string? Address { get; set; }
|
[Required, MaxLength(100)] public string? Address { get; set; }
|
||||||
[Required] public string? ZipCode { get; set; }
|
[Required] public int ZipCode { get; set; }
|
||||||
[Required] public string? City { get; set; }
|
[Required, MaxLength(100)] public string? City { get; set; }
|
||||||
[Required] public string? Role { get; set; }
|
[Required, MaxLength(100)] public string? Role { get; set; }
|
||||||
|
|
||||||
//RELATIONS DE CON LA
|
public Customer? Customer { get; set; }
|
||||||
public int CommunicationId { get; set; }
|
[Required] public int CustomerId { get; set; }
|
||||||
public Communication? Communication { get; set; }
|
|
||||||
|
public List<Communication>? Communications { get; set; }
|
||||||
|
public List<StaffContact>? StaffContacts { get; set; }
|
||||||
|
public List<ContactServiceProvider>? ContactServiceProviders { get; set; }
|
||||||
}
|
}
|
14
PyroFetes/Models/ContactServiceProvider.cs
Normal file
14
PyroFetes/Models/ContactServiceProvider.cs
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
namespace PyroFetes.Models;
|
||||||
|
|
||||||
|
[PrimaryKey(nameof(ContactId), nameof(ServiceProviderId))]
|
||||||
|
public class ContactServiceProvider
|
||||||
|
{
|
||||||
|
[Required] public int ContactId { get; set; }
|
||||||
|
[Required] public int ServiceProviderId { get; set; }
|
||||||
|
|
||||||
|
public Contact? Contact { get; set; }
|
||||||
|
public ServiceProvider? ServiceProvider { get; set; }
|
||||||
|
}
|
15
PyroFetes/Models/Contract.cs
Normal file
15
PyroFetes/Models/Contract.cs
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
namespace PyroFetes.Models;
|
||||||
|
|
||||||
|
[PrimaryKey(nameof(ShowId), nameof(ServiceProviderId))]
|
||||||
|
public class Contract
|
||||||
|
{
|
||||||
|
[Required] public int ShowId { get; set; }
|
||||||
|
[Required] public int ServiceProviderId { get; set; }
|
||||||
|
[Required] public string? TermsAndConditions { get; set; }
|
||||||
|
|
||||||
|
public Show? Show { get; set; }
|
||||||
|
public ServiceProvider? ServiceProvider { get; set; }
|
||||||
|
}
|
@@ -5,12 +5,12 @@ namespace PyroFetes.Models;
|
|||||||
public class Customer
|
public class Customer
|
||||||
{
|
{
|
||||||
[Key] public int Id { get; set; }
|
[Key] public int Id { get; set; }
|
||||||
[Required] public string? Note { get; set; }
|
[Required, MaxLength(200)] public string? Note { get; set; }
|
||||||
|
|
||||||
//Les relations
|
//Relations
|
||||||
public int CustomerTypeId { get; set; }
|
[Required] public int CustomerTypeId { get; set; }
|
||||||
public CustomerType? CustomerType { get; set; }
|
public CustomerType? CustomerType { get; set; }
|
||||||
|
|
||||||
public int ContactId { get; set; }
|
public List<Contact>? Contacts { get; set; }
|
||||||
public Contact? Contact { get; set; }
|
public List<Quotation>? Quotations { get; set; }
|
||||||
}
|
}
|
||||||
|
@@ -1,13 +0,0 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
|
|
||||||
namespace PyroFetes.Models;
|
|
||||||
|
|
||||||
[PrimaryKey(nameof(ContactId), nameof(CustomerId))]
|
|
||||||
public class CustomerContact
|
|
||||||
{
|
|
||||||
public int CustomerId { get; set; }
|
|
||||||
public Customer? Customer { get; set; }
|
|
||||||
public int ContactId { get; set; }
|
|
||||||
public Contact? Contact { get; set; }
|
|
||||||
}
|
|
@@ -5,7 +5,7 @@ namespace PyroFetes.Models;
|
|||||||
public class CustomerType
|
public class CustomerType
|
||||||
{
|
{
|
||||||
[Key] public int Id { get; set; }
|
[Key] public int Id { get; set; }
|
||||||
[Required] public decimal Price { get; set; }
|
[Required, MaxLength(100)] public string? Label { get; set; }
|
||||||
|
|
||||||
public List<Customer>? Customers { get; set; }
|
public List<Customer>? Customers { get; set; }
|
||||||
}
|
}
|
@@ -5,7 +5,7 @@ namespace PyroFetes.Models;
|
|||||||
public class Deliverer
|
public class Deliverer
|
||||||
{
|
{
|
||||||
[Key] public int Id { get; set; }
|
[Key] public int Id { get; set; }
|
||||||
[Required] public string? Transporter { get; set; }
|
[Required, MaxLength(100)] public string? Transporter { get; set; }
|
||||||
|
|
||||||
public List<DeliveryNote>? DeliveryNotes { get; set; }
|
public List<DeliveryNote>? DeliveryNotes { get; set; }
|
||||||
}
|
}
|
@@ -5,11 +5,12 @@ namespace PyroFetes.Models;
|
|||||||
public class DeliveryNote
|
public class DeliveryNote
|
||||||
{
|
{
|
||||||
[Key] public int Id { get; set; }
|
[Key] public int Id { get; set; }
|
||||||
[Required] public string? TrackingNumber { get; set; }
|
[Required, MaxLength(100)] public string? TrackingNumber { get; set; }
|
||||||
public int DelivererId { get; set; }
|
public int DelivererId { get; set; }
|
||||||
[Required] public DateOnly EstimateDeliveryDate { get; set; }
|
[Required] public DateOnly EstimateDeliveryDate { get; set; }
|
||||||
[Required] public DateOnly ExpeditionDate { get; set; }
|
[Required] public DateOnly ExpeditionDate { get; set; }
|
||||||
[Required] public DateOnly RealDeliveryDate { get; set; }
|
[Required] public DateOnly RealDeliveryDate { get; set; }
|
||||||
|
|
||||||
public Deliverer? Deliverer { get; set; }
|
public Deliverer? Deliverer { get; set; }
|
||||||
|
public List<ProductDelivery>? ProductDeliveries { get; set; }
|
||||||
}
|
}
|
@@ -5,5 +5,7 @@ namespace PyroFetes.Models;
|
|||||||
public class Effect
|
public class Effect
|
||||||
{
|
{
|
||||||
[Key] public int Id { get; set; }
|
[Key] public int Id { get; set; }
|
||||||
[Required] public string? Label { get; set; }
|
[Required, MaxLength(200)] public string? Label { get; set; }
|
||||||
|
|
||||||
|
public List<ProductEffect>? ProductEffects { get; set; }
|
||||||
}
|
}
|
@@ -4,6 +4,9 @@ namespace PyroFetes.Models;
|
|||||||
|
|
||||||
public class ExperienceLevel
|
public class ExperienceLevel
|
||||||
{
|
{
|
||||||
[Key] public int Id { get; set; }
|
[Key] public int Id { get; set; }
|
||||||
[Required] public string? Label { get; set; }
|
[Required, MaxLength(100)] public string? Label { get; set; }
|
||||||
|
|
||||||
|
public Staff? Staff { get; set; }
|
||||||
|
[Required] public int StaffId { get; set; }
|
||||||
}
|
}
|
@@ -5,6 +5,8 @@ namespace PyroFetes.Models;
|
|||||||
public class HistoryOfApproval
|
public class HistoryOfApproval
|
||||||
{
|
{
|
||||||
[Key] public int Id { get; set; }
|
[Key] public int Id { get; set; }
|
||||||
[Required] public DateOnly ExpirationDate { get; set; }
|
|
||||||
[Required] public DateOnly DeliveryDate { get; set; }
|
[Required] public DateOnly DeliveryDate { get; set; }
|
||||||
|
[Required] public DateOnly ExpirationDate { get; set; }
|
||||||
|
|
||||||
|
public List<StaffHistoryOfApproval>? StaffHistoryOfApprovals { get; set; }
|
||||||
}
|
}
|
@@ -9,5 +9,8 @@ public class Material
|
|||||||
[Required] public int Quantity {get; set;}
|
[Required] public int Quantity {get; set;}
|
||||||
|
|
||||||
[Required] public int WarehouseId {get; set;}
|
[Required] public int WarehouseId {get; set;}
|
||||||
[Required] public Warehouse? Warehouse {get; set;}
|
public Warehouse? Warehouse {get; set;}
|
||||||
|
|
||||||
|
public List<ShowMaterial>? ShowMaterials {get; set;}
|
||||||
|
public List<MaterialWarehouse>? MaterialWarehouses {get; set;}
|
||||||
}
|
}
|
14
PyroFetes/Models/MaterialWarehouse.cs
Normal file
14
PyroFetes/Models/MaterialWarehouse.cs
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
namespace PyroFetes.Models;
|
||||||
|
|
||||||
|
[PrimaryKey(nameof(MaterialId), nameof(WarehouseId))]
|
||||||
|
public class MaterialWarehouse
|
||||||
|
{
|
||||||
|
[Required] public int MaterialId { get; set; }
|
||||||
|
[Required] public int WarehouseId { get; set; }
|
||||||
|
|
||||||
|
public Material? Material { get; set; }
|
||||||
|
public Warehouse? Warehouse { get; set; }
|
||||||
|
}
|
@@ -10,12 +10,10 @@ public class Movement
|
|||||||
[Required] public DateTime Arrival {get; set;}
|
[Required] public DateTime Arrival {get; set;}
|
||||||
[Required] public int Quantity {get; set;}
|
[Required] public int Quantity {get; set;}
|
||||||
|
|
||||||
[Required] public int ProductId {get; set;}
|
public List<Product>? Products { get; set; }
|
||||||
[Required] public Product? Product {get; set;}
|
|
||||||
|
public int? SourceWarehouseId {get; set;}
|
||||||
[Required] public int? SourceWarehouseId {get; set;}
|
public Warehouse? SourceWarehouse {get; set;}
|
||||||
[Required] public Warehouse? SourceWarehouse {get; set;}
|
public int? DestinationWarehouseId {get; set;}
|
||||||
|
public Warehouse? DestinationWarehouse {get; set;}
|
||||||
[Required] public int? DestinationWarehouseId {get; set;}
|
|
||||||
[Required] public Warehouse? DestinationWarehouse {get; set;}
|
|
||||||
}
|
}
|
@@ -1,4 +1,5 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
namespace PyroFetes.Models;
|
namespace PyroFetes.Models;
|
||||||
|
@@ -14,19 +14,29 @@ namespace PyroFetes.Models
|
|||||||
[Required] public decimal Nec { get; set; }
|
[Required] public decimal Nec { get; set; }
|
||||||
[Required] public decimal SellingPrice { get; set; }
|
[Required] public decimal SellingPrice { get; set; }
|
||||||
[Required] public string? Image { get; set; }
|
[Required] public string? Image { get; set; }
|
||||||
[Required] public string? Link { get; set; }
|
[Required, MaxLength(200)] public string? Link { get; set; }
|
||||||
[Required] public int MinimalQuantity { get; set; }
|
[Required] public int MinimalQuantity { get; set; }
|
||||||
|
|
||||||
// Relations
|
// Relations
|
||||||
[Required] public int ClassificationId { get; set; }
|
[Required] public int ClassificationId { get; set; }
|
||||||
[Required] public Classification? Classification { get; set; }
|
public Classification? Classification { get; set; }
|
||||||
|
|
||||||
[Required] public int ProductCategoryId { get; set; }
|
[Required] public int ProductCategoryId { get; set; }
|
||||||
[Required] public ProductCategory? ProductCategory { get; set; }
|
public ProductCategory? ProductCategory { get; set; }
|
||||||
|
|
||||||
[Required] public List<Brand>? Brands { get; set; }
|
[Required] public int MovementId {get; set;}
|
||||||
|
public Movement? Movement {get; set;}
|
||||||
|
|
||||||
|
public List<ProductDelivery>? ProductDeliveries { get; set; }
|
||||||
|
public List<Brand>? Brands { get; set; }
|
||||||
|
public List<ProductEffect>? ProductEffects { get; set; }
|
||||||
|
public List<ProductColor>? ProductColors { get; set; }
|
||||||
|
public List<PurchaseProduct>? PurchaseProducts { get; set; }
|
||||||
|
public List<Price>? Prices { get; set; }
|
||||||
|
public List<QuotationProduct>? QuotationProducts { get; set; }
|
||||||
|
public List<WarehouseProduct>? WarehouseProducts { get; set; }
|
||||||
|
public List<ProductTimecode>? ProductTimecodes { get; set; }
|
||||||
|
|
||||||
[Required] public List<Movement>? Movements { get; set; }
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -5,7 +5,7 @@ namespace PyroFetes.Models;
|
|||||||
public class ProductCategory
|
public class ProductCategory
|
||||||
{
|
{
|
||||||
[Key] public int Id { get; set; }
|
[Key] public int Id { get; set; }
|
||||||
[Required] public string? Label { get; set; }
|
[Required, MaxLength(100)] public string? Label { get; set; }
|
||||||
|
|
||||||
[Required] public List<Product>? Products { get; set; }
|
public List<Product>? Products { get; set; }
|
||||||
}
|
}
|
@@ -6,9 +6,9 @@ namespace PyroFetes.Models;
|
|||||||
[PrimaryKey(nameof(ProductId), nameof(ColorId))]
|
[PrimaryKey(nameof(ProductId), nameof(ColorId))]
|
||||||
public class ProductColor
|
public class ProductColor
|
||||||
{
|
{
|
||||||
[Required] public Product? Product { get; set; }
|
public Product? Product { get; set; }
|
||||||
[Required] public int ProductId { get; set; }
|
[Required] public int ProductId { get; set; }
|
||||||
|
|
||||||
[Required] public Color? Color { get; set; }
|
public Color? Color { get; set; }
|
||||||
[Required] public int ColorId { get; set; }
|
[Required] public int ColorId { get; set; }
|
||||||
}
|
}
|
@@ -12,5 +12,4 @@ public class ProductDelivery
|
|||||||
|
|
||||||
public Product? Product { get; set; }
|
public Product? Product { get; set; }
|
||||||
public DeliveryNote? DeliveryNote { get; set; }
|
public DeliveryNote? DeliveryNote { get; set; }
|
||||||
}
|
}
|
||||||
|
|
@@ -9,7 +9,7 @@ public class ProductEffect
|
|||||||
[Required] public Product? Product { get; set; }
|
[Required] public Product? Product { get; set; }
|
||||||
[Required] public int ProductId { get; set; }
|
[Required] public int ProductId { get; set; }
|
||||||
|
|
||||||
[Required] public Effect? Effect { get; set; }
|
public Effect? Effect { get; set; }
|
||||||
[Required] public int EffectId { get; set; }
|
[Required] public int EffectId { get; set; }
|
||||||
|
|
||||||
}
|
}
|
17
PyroFetes/Models/ProductTimecode.cs
Normal file
17
PyroFetes/Models/ProductTimecode.cs
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
namespace PyroFetes.Models;
|
||||||
|
|
||||||
|
[PrimaryKey(nameof(ProductId), nameof(ShowId))]
|
||||||
|
public class ProductTimecode
|
||||||
|
{
|
||||||
|
public Product? Product { get; set; }
|
||||||
|
[Required] public int ProductId { get; set; }
|
||||||
|
|
||||||
|
public Show? Show { get; set; }
|
||||||
|
[Required] public int ShowId { get; set; }
|
||||||
|
|
||||||
|
[Required] public decimal Start { get; set; }
|
||||||
|
[Required] public decimal End { get; set; }
|
||||||
|
}
|
@@ -6,7 +6,7 @@ namespace PyroFetes.Models;
|
|||||||
public class ProviderContact
|
public class ProviderContact
|
||||||
{
|
{
|
||||||
public int ProviderId { get; set; }
|
public int ProviderId { get; set; }
|
||||||
public Provider? Provider { get; set; }
|
public ServiceProvider? Provider { get; set; }
|
||||||
public int ContactId { get; set; }
|
public int ContactId { get; set; }
|
||||||
public Contact? Contact { get; set; }
|
public Contact? Contact { get; set; }
|
||||||
}
|
}
|
@@ -5,5 +5,7 @@ namespace PyroFetes.Models;
|
|||||||
public class ProviderType
|
public class ProviderType
|
||||||
{
|
{
|
||||||
[Key] public int Id { get; set; }
|
[Key] public int Id { get; set; }
|
||||||
[Required] public string? Label { get; set; }
|
[Required, MaxLength(100)] public string? Label { get; set; }
|
||||||
|
|
||||||
|
public List<ServiceProvider>? ServiceProviders { get; set; }
|
||||||
}
|
}
|
@@ -5,5 +5,7 @@ namespace PyroFetes.Models;
|
|||||||
public class PurchaseOrder
|
public class PurchaseOrder
|
||||||
{
|
{
|
||||||
[Key] public int Id { get; set; }
|
[Key] public int Id { get; set; }
|
||||||
[Required] public string? PurchaseConditions { get; set; }
|
[Required, MaxLength(300)] public string? PurchaseConditions { get; set; }
|
||||||
|
|
||||||
|
public List<PurchaseProduct>? PurchaseProducts { get; set; }
|
||||||
}
|
}
|
@@ -5,6 +5,11 @@ namespace PyroFetes.Models;
|
|||||||
public class Quotation
|
public class Quotation
|
||||||
{
|
{
|
||||||
[Key] public int Id { get; set; }
|
[Key] public int Id { get; set; }
|
||||||
[Required] public string? Message { get; set; }
|
[Required, MaxLength(200)] public string? Message { get; set; }
|
||||||
[Required] public string? ConditionsSale { get; set; }
|
[Required, MaxLength(300)] public string? ConditionsSale { get; set; }
|
||||||
|
|
||||||
|
[Required] public int CustomerId { get; set; }
|
||||||
|
public Customer? Customer { get; set; }
|
||||||
|
|
||||||
|
public List<QuotationProduct>? QuotationProducts { get; set; }
|
||||||
}
|
}
|
@@ -2,13 +2,15 @@ using System.ComponentModel.DataAnnotations;
|
|||||||
|
|
||||||
namespace PyroFetes.Models;
|
namespace PyroFetes.Models;
|
||||||
|
|
||||||
public class Provider
|
public class ServiceProvider
|
||||||
{
|
{
|
||||||
[Key] public int Id { get; set; }
|
[Key] public int Id { get; set; }
|
||||||
[Required] public decimal Price { get; set; }
|
[Required] public decimal Price { get; set; }
|
||||||
|
|
||||||
//Relations
|
//Relations
|
||||||
|
[Required] public int ProviderTypeId { get; set; }
|
||||||
public int ProviderId { get; set; }
|
|
||||||
public ProviderType? ProviderType { get; set; }
|
public ProviderType? ProviderType { get; set; }
|
||||||
|
|
||||||
|
public List<Contract>? Contracts { get; set; }
|
||||||
|
public List<ContactServiceProvider>? ContactServiceProviders { get; set; }
|
||||||
}
|
}
|
@@ -5,16 +5,21 @@ namespace PyroFetes.Models;
|
|||||||
public class Show
|
public class Show
|
||||||
{
|
{
|
||||||
[Key] public int Id { get; set; }
|
[Key] public int Id { get; set; }
|
||||||
[Required] public string? Name { get; set; }
|
[Required, MaxLength(100)] public string? Name { get; set; }
|
||||||
[Required, MaxLength(120)] public string? Place { get; set; }
|
[Required, MaxLength(120)] public string? Place { get; set; }
|
||||||
[MaxLength(500)] public string? Description { get; set; }
|
[MaxLength(500)] public string? Description { get; set; }
|
||||||
|
public DateOnly? Date { get; set; }
|
||||||
|
|
||||||
// Lien (chemin/URL/nom de fichier) vers le plan d’implémentation pyrotechnique
|
// Link (path/URL/file name) to the pyrotechnic implementation plan
|
||||||
[Required, MaxLength(500)]
|
[Required, MaxLength(500)] public string? PyrotechnicImplementationPlan { get; set; }
|
||||||
public string? PyrotechnicImplementationPlan { get; set; }
|
|
||||||
|
[Required] public int CityId { get; set; }
|
||||||
public DateTime? Date { get; set; }
|
public City? City { get; set; }
|
||||||
public ICollection<Staff>? Staff { get; set; }
|
|
||||||
public ICollection<Truck>? Trucks { get; set; }
|
public List<ShowStaff>? ShowStaffs { get; set; }
|
||||||
public ICollection<SoundTimecode>? SoundCues { get; set; }
|
public List<ShowTruck>? ShowTrucks { get; set; }
|
||||||
|
public List<SoundTimecode>? SoundTimecodes { get; set; }
|
||||||
|
public List<ProductTimecode>? ProductTimecodes { get; set; }
|
||||||
|
public List<Contract>? Contracts { get; set; }
|
||||||
|
public List<ShowMaterial>? ShowMaterials { get; set; }
|
||||||
}
|
}
|
15
PyroFetes/Models/ShowMaterial.cs
Normal file
15
PyroFetes/Models/ShowMaterial.cs
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
namespace PyroFetes.Models;
|
||||||
|
|
||||||
|
[PrimaryKey(nameof(ShowId), nameof(MaterialId))]
|
||||||
|
public class ShowMaterial
|
||||||
|
{
|
||||||
|
[Required] public Show? Show { get; set; }
|
||||||
|
[Required] public int ShowId { get; set; }
|
||||||
|
|
||||||
|
public Material? Material { get; set; }
|
||||||
|
[Required] public int MaterialId { get; set; }
|
||||||
|
|
||||||
|
}
|
9
PyroFetes/Models/ShowServiceProvider.cs
Normal file
9
PyroFetes/Models/ShowServiceProvider.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace PyroFetes.Models;
|
||||||
|
|
||||||
|
public class ShowServiceProvider
|
||||||
|
{
|
||||||
|
[Key] public int Id { get; set; }
|
||||||
|
|
||||||
|
}
|
14
PyroFetes/Models/ShowStaff.cs
Normal file
14
PyroFetes/Models/ShowStaff.cs
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
namespace PyroFetes.Models;
|
||||||
|
|
||||||
|
[PrimaryKey(nameof(StaffId), nameof(ShowId))]
|
||||||
|
public class ShowStaff
|
||||||
|
{
|
||||||
|
public Staff? Staff { get; set; }
|
||||||
|
[Required] public int StaffId { get; set; }
|
||||||
|
|
||||||
|
public Show? Show { get; set; }
|
||||||
|
[Required] public int ShowId { get; set; }
|
||||||
|
}
|
14
PyroFetes/Models/ShowTruck.cs
Normal file
14
PyroFetes/Models/ShowTruck.cs
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
namespace PyroFetes.Models;
|
||||||
|
|
||||||
|
[PrimaryKey(nameof(ShowId), nameof(TruckId))]
|
||||||
|
public class ShowTruck
|
||||||
|
{
|
||||||
|
public Show? Show { get; set; }
|
||||||
|
[Required] public int ShowId { get; set; }
|
||||||
|
|
||||||
|
public Truck? Truck { get; set; }
|
||||||
|
[Required] public int TruckId { get; set; }
|
||||||
|
}
|
@@ -12,7 +12,9 @@ public class Sound
|
|||||||
[Required, MaxLength(40)] public string? Kind { get; set; }
|
[Required, MaxLength(40)] public string? Kind { get; set; }
|
||||||
[Required, MaxLength(40)] public string? Format { get; set; }
|
[Required, MaxLength(40)] public string? Format { get; set; }
|
||||||
public DateTime? CreationDate { get; set; }
|
public DateTime? CreationDate { get; set; }
|
||||||
|
|
||||||
[Required] public int SoundCategoryId { get; set; }
|
[Required] public int SoundCategoryId { get; set; }
|
||||||
public SoundCategory? Category { get; set; }
|
public SoundCategory? SoundCategory { get; set; }
|
||||||
public ICollection<SoundTimecode>? ShowPlacements { get; set; }
|
|
||||||
|
public List<SoundTimecode>? SoundTimecodes { get; set; }
|
||||||
}
|
}
|
@@ -5,6 +5,7 @@ namespace PyroFetes.Models;
|
|||||||
public class SoundCategory
|
public class SoundCategory
|
||||||
{
|
{
|
||||||
[Key] public int Id { get; set; }
|
[Key] public int Id { get; set; }
|
||||||
[Required, MaxLength(60)] public string Name { get; set; } = null!;
|
[Required, MaxLength(100)] public string Name { get; set; } = null!;
|
||||||
public ICollection<Sound>? Sounds { get; set; }
|
|
||||||
|
public List<Sound>? Sounds { get; set; }
|
||||||
}
|
}
|
@@ -1,14 +1,16 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
namespace PyroFetes.Models;
|
namespace PyroFetes.Models;
|
||||||
|
|
||||||
|
[PrimaryKey(nameof(ShowId), nameof(SoundId))]
|
||||||
public class SoundTimecode
|
public class SoundTimecode
|
||||||
{
|
{
|
||||||
[Key] public int Id { get; set; }
|
|
||||||
[Required] public int ShowId { get; set; }
|
[Required] public int ShowId { get; set; }
|
||||||
public Show? Show { get; set; }
|
public Show? Show { get; set; }
|
||||||
[Required] public int SoundId { get; set; }
|
[Required] public int SoundId { get; set; }
|
||||||
public Sound? Sound { get; set; }
|
public Sound? Sound { get; set; }
|
||||||
[Required, Range(0, int.MaxValue)] public int Start { get; set; }
|
|
||||||
[Required, Range(0, int.MaxValue)] public int End { get; set; }
|
[Required] public decimal Start { get; set; }
|
||||||
|
[Required] public decimal End { get; set; }
|
||||||
}
|
}
|
@@ -9,7 +9,12 @@ public class Staff
|
|||||||
[Required, MaxLength(60)] public string LastName { get; set; } = null!;
|
[Required, MaxLength(60)] public string LastName { get; set; } = null!;
|
||||||
[Required, MaxLength(100)] public string? Profession { get; set; }
|
[Required, MaxLength(100)] public string? Profession { get; set; }
|
||||||
[Required, MaxLength(120)] public string? Email { get; set; }
|
[Required, MaxLength(120)] public string? Email { get; set; }
|
||||||
[Required] public string? F4T2NumberApproval { get; set; }
|
[Required, MaxLength(100)] public string? F4T2NumberApproval { get; set; }
|
||||||
[Required] public DateOnly F4T2ExpirationDate { get; set; }
|
[Required] public DateOnly F4T2ExpirationDate { get; set; }
|
||||||
public ICollection<Show>? Shows { get; set; }
|
|
||||||
|
public List<ShowStaff>? ShowStaffs { get; set; }
|
||||||
|
public List<ExperienceLevel>? ExperienceLevels { get; set; }
|
||||||
|
public List<StaffAvailability>? StaffAvailabilities { get; set; }
|
||||||
|
public List<StaffHistoryOfApproval>? StaffHistoryOfApprovals { get; set; }
|
||||||
|
public List<StaffContact>? StaffContacts { get; set; }
|
||||||
}
|
}
|
@@ -1,3 +1,4 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
namespace PyroFetes.Models;
|
namespace PyroFetes.Models;
|
||||||
@@ -5,8 +6,8 @@ namespace PyroFetes.Models;
|
|||||||
[PrimaryKey(nameof(ContactId), nameof(StaffId))]
|
[PrimaryKey(nameof(ContactId), nameof(StaffId))]
|
||||||
public class StaffContact
|
public class StaffContact
|
||||||
{
|
{
|
||||||
public int StaffId { get; set; }
|
[Required] public int StaffId { get; set; }
|
||||||
public Staff? Staff { get; set; }
|
public Staff? Staff { get; set; }
|
||||||
public int ContactId { get; set; }
|
[Required] public int ContactId { get; set; }
|
||||||
public Contact? Contact { get; set; }
|
public Contact? Contact { get; set; }
|
||||||
}
|
}
|
@@ -6,10 +6,12 @@ public class Supplier
|
|||||||
{
|
{
|
||||||
[Key] public int Id { get; set; }
|
[Key] public int Id { get; set; }
|
||||||
[Required, MaxLength(100)] public string? Name { get; set; }
|
[Required, MaxLength(100)] public string? Name { get; set; }
|
||||||
[Required] public string? Email { get; set; }
|
[Required, MaxLength(100)] public string? Email { get; set; }
|
||||||
[Required] public string? Phone { get; set; }
|
[Required, MaxLength(30)] public string? Phone { get; set; }
|
||||||
[Required] public string? Address { get; set; }
|
[Required, MaxLength(100)] public string? Address { get; set; }
|
||||||
[Required] public int ZipCode { get; set; }
|
[Required] public int ZipCode { get; set; }
|
||||||
[Required] public string? City { get; set; }
|
[Required, MaxLength(100)] public string? City { get; set; }
|
||||||
[Required] public int DeliveryDelay { get; set; }
|
[Required] public int DeliveryDelay { get; set; }
|
||||||
|
|
||||||
|
public List<Price>? Prices { get; set; }
|
||||||
}
|
}
|
@@ -6,9 +6,9 @@ public class Truck
|
|||||||
{
|
{
|
||||||
[Key] public int Id { get; set; }
|
[Key] public int Id { get; set; }
|
||||||
[Required, MaxLength(40)] public string Type { get; set; } = null!;
|
[Required, MaxLength(40)] public string Type { get; set; } = null!;
|
||||||
[Range(0, double.MaxValue)] public double? MaxExplosiveCapacity { get; set; }
|
[Required] public double? MaxExplosiveCapacity { get; set; }
|
||||||
[Required, MaxLength(80)] public string? Sizes { get; set; }
|
[Required, MaxLength(80)] public string? Sizes { get; set; }
|
||||||
[Required, MaxLength(40)] public string? Status { get; set; }
|
[Required, MaxLength(40)] public string? Status { get; set; }
|
||||||
[Required] public int ShowId { get; set; }
|
|
||||||
public Show? Show { get; set; }
|
public List<ShowTruck>? ShowTrucks { get; set; }
|
||||||
}
|
}
|
@@ -6,8 +6,8 @@ public class User
|
|||||||
{
|
{
|
||||||
[Key] public int Id { get; set; }
|
[Key] public int Id { get; set; }
|
||||||
[Required, MaxLength(100)] public string? Name { get; set; }
|
[Required, MaxLength(100)] public string? Name { get; set; }
|
||||||
[Required, MinLength(12)] public string? Password { get; set; }
|
[Required, MinLength(12), MaxLength(50)] public string? Password { get; set; }
|
||||||
[Required] public string? Salt { get; set; }
|
[Required, MaxLength(100)] public string? Salt { get; set; }
|
||||||
[Required] public string? Email { get; set; }
|
[Required, MaxLength(100)] public string? Email { get; set; }
|
||||||
[Required] public string? Fonction { get; set; }
|
[Required, MaxLength(100)] public string? Fonction { get; set; }
|
||||||
}
|
}
|
@@ -9,14 +9,14 @@ public class Warehouse
|
|||||||
[Required] public int MaxWeight {get; set;}
|
[Required] public int MaxWeight {get; set;}
|
||||||
[Required] public int Current {get; set;}
|
[Required] public int Current {get; set;}
|
||||||
[Required] public int MinWeight {get; set;}
|
[Required] public int MinWeight {get; set;}
|
||||||
[Required] public string? Address { get; set; }
|
[Required, MaxLength(100)] public string? Address { get; set; }
|
||||||
[Required] public int ZipCode { get; set; }
|
[Required] public int ZipCode { get; set; }
|
||||||
[Required] public string? City { get; set; }
|
[Required, MaxLength(100)] public string? City { get; set; }
|
||||||
|
|
||||||
|
public List<WarehouseProduct>? WarehouseProducts { get; set; }
|
||||||
|
|
||||||
[Required] public List<Material>? Materials {get; set;}
|
public List<MaterialWarehouse>? MaterialWarehouses {get; set;}
|
||||||
|
|
||||||
|
public List<Movement>? MovementsSource { get; set; }
|
||||||
[Required] public List<Movement>? MovementsSource { get; set; }
|
public List<Movement>? MovementsDestination { get; set; }
|
||||||
[Required] public List<Movement>? MovementsDestination { get; set; }
|
|
||||||
}
|
}
|
@@ -1,14 +1,15 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
namespace PyroFetes.Models;
|
namespace PyroFetes.Models;
|
||||||
|
|
||||||
|
[PrimaryKey(nameof(ProductId), nameof(WarehouseId))]
|
||||||
public class WarehouseProduct
|
public class WarehouseProduct
|
||||||
{
|
{
|
||||||
[Key] public int Quantity { get; set; }
|
|
||||||
|
|
||||||
[Required] public int ProductId { get; set; }
|
[Required] public int ProductId { get; set; }
|
||||||
[Required] public Product? Product { get; set; }
|
public Product? Product { get; set; }
|
||||||
|
|
||||||
[Required] public int WarehouseId { get; set; }
|
[Required] public int WarehouseId { get; set; }
|
||||||
[Required] public Warehouse? Warehouse { get; set; }
|
public Warehouse? Warehouse { get; set; }
|
||||||
|
|
||||||
|
[Required] public int Quantity { get; set; }
|
||||||
}
|
}
|
@@ -1,5 +1,6 @@
|
|||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using PyroFetes.Models;
|
using PyroFetes.Models;
|
||||||
|
using ServiceProvider = PyroFetes.Models.ServiceProvider;
|
||||||
|
|
||||||
namespace PyroFetes;
|
namespace PyroFetes;
|
||||||
|
|
||||||
@@ -13,7 +14,6 @@ public class PyroFetesDbContext : DbContext
|
|||||||
public DbSet<Communication> Communications { get; set; }
|
public DbSet<Communication> Communications { get; set; }
|
||||||
public DbSet<Contact> Contacts { get; set; }
|
public DbSet<Contact> Contacts { get; set; }
|
||||||
public DbSet<Customer> Customers { get; set; }
|
public DbSet<Customer> Customers { get; set; }
|
||||||
public DbSet<CustomerContact> CustomerContacts { get; set; }
|
|
||||||
public DbSet<CustomerType> CustomerTypes { get; set; }
|
public DbSet<CustomerType> CustomerTypes { get; set; }
|
||||||
public DbSet<Deliverer> Deliverers { get; set; }
|
public DbSet<Deliverer> Deliverers { get; set; }
|
||||||
public DbSet<DeliveryNote> DeliveryNotes { get; set; }
|
public DbSet<DeliveryNote> DeliveryNotes { get; set; }
|
||||||
@@ -28,7 +28,7 @@ public class PyroFetesDbContext : DbContext
|
|||||||
public DbSet<ProductColor> ProductColors { get; set; }
|
public DbSet<ProductColor> ProductColors { get; set; }
|
||||||
public DbSet<ProductDelivery> ProductDeliveries { get; set; }
|
public DbSet<ProductDelivery> ProductDeliveries { get; set; }
|
||||||
public DbSet<ProductEffect> ProductEffects { get; set; }
|
public DbSet<ProductEffect> ProductEffects { get; set; }
|
||||||
public DbSet<Provider> Providers { get; set; }
|
public DbSet<ServiceProvider> Providers { get; set; }
|
||||||
public DbSet<ProviderContact> ProviderContacts { get; set; }
|
public DbSet<ProviderContact> ProviderContacts { get; set; }
|
||||||
public DbSet<ProviderType> ProviderTypes { get; set; }
|
public DbSet<ProviderType> ProviderTypes { get; set; }
|
||||||
public DbSet<PurchaseOrder> PurchaseOrders { get; set; }
|
public DbSet<PurchaseOrder> PurchaseOrders { get; set; }
|
||||||
@@ -57,7 +57,7 @@ public class PyroFetesDbContext : DbContext
|
|||||||
"Server=romaric-thibault.fr;" +
|
"Server=romaric-thibault.fr;" +
|
||||||
"Database=PyroFetes;" +
|
"Database=PyroFetes;" +
|
||||||
"User Id=pyrofetes;" +
|
"User Id=pyrofetes;" +
|
||||||
"Password=Onto9-Cage-Afflicted;" +
|
"Password=Crablike8-Fringe-Swimmable;" +
|
||||||
"TrustServerCertificate=true;";
|
"TrustServerCertificate=true;";
|
||||||
|
|
||||||
optionsBuilder.UseSqlServer(connectionString);
|
optionsBuilder.UseSqlServer(connectionString);
|
||||||
@@ -66,5 +66,28 @@ public class PyroFetesDbContext : DbContext
|
|||||||
// Models customization
|
// Models customization
|
||||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||||
{
|
{
|
||||||
|
modelBuilder.Entity<Movement>()
|
||||||
|
.HasOne(m => m.SourceWarehouse)
|
||||||
|
.WithMany(w => w.MovementsSource)
|
||||||
|
.HasForeignKey(m => m.SourceWarehouseId)
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<Movement>()
|
||||||
|
.HasOne(m => m.DestinationWarehouse)
|
||||||
|
.WithMany(w => w.MovementsDestination)
|
||||||
|
.HasForeignKey(m => m.DestinationWarehouseId)
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<MaterialWarehouse>()
|
||||||
|
.HasOne(mw => mw.Material)
|
||||||
|
.WithMany(m => m.MaterialWarehouses)
|
||||||
|
.HasForeignKey(mw => mw.MaterialId)
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
modelBuilder.Entity<MaterialWarehouse>()
|
||||||
|
.HasOne(mw => mw.Warehouse)
|
||||||
|
.WithMany(w => w.MaterialWarehouses)
|
||||||
|
.HasForeignKey(mw => mw.WarehouseId)
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user