diff --git a/PyroFetes/Models/.idea/.gitignore b/PyroFetes/Models/.idea/.gitignore new file mode 100644 index 0000000..516c578 --- /dev/null +++ b/PyroFetes/Models/.idea/.gitignore @@ -0,0 +1,13 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Rider ignored files +/.idea.Models.iml +/modules.xml +/contentModel.xml +/projectSettingsUpdater.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/PyroFetes/Models/.idea/encodings.xml b/PyroFetes/Models/.idea/encodings.xml new file mode 100644 index 0000000..df87cf9 --- /dev/null +++ b/PyroFetes/Models/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/PyroFetes/Models/.idea/indexLayout.xml b/PyroFetes/Models/.idea/indexLayout.xml new file mode 100644 index 0000000..7b08163 --- /dev/null +++ b/PyroFetes/Models/.idea/indexLayout.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/PyroFetes/Models/Brand.cs b/PyroFetes/Models/Brand.cs new file mode 100644 index 0000000..49016ca --- /dev/null +++ b/PyroFetes/Models/Brand.cs @@ -0,0 +1,12 @@ +using System.ComponentModel.DataAnnotations; + +namespace PyroFetes.Models; + +public class Brand +{ + [Key] public int Id { get; set; } + [Required, MaxLength(100)] public string? Name { get; set; } + + [Required] public int ProductId { get; set; } + [Required] public Product? Product { get; set; } +} \ No newline at end of file diff --git a/PyroFetes/Models/Classification.cs b/PyroFetes/Models/Classification.cs new file mode 100644 index 0000000..6ef006b --- /dev/null +++ b/PyroFetes/Models/Classification.cs @@ -0,0 +1,11 @@ +using System.ComponentModel.DataAnnotations; + +namespace PyroFetes.Models; + +public class Classification +{ + [Key] public int Id { get; set; } + [Required] public string? Label { get; set; } + + [Required] public List? Products { get; set; } +} \ No newline at end of file diff --git a/PyroFetes/Models/Color.cs b/PyroFetes/Models/Color.cs new file mode 100644 index 0000000..00bb147 --- /dev/null +++ b/PyroFetes/Models/Color.cs @@ -0,0 +1,10 @@ +using System.ComponentModel.DataAnnotations; + +namespace PyroFetes.Models; + +public class Color +{ + [Key] public int Id { get; set; } + [Required] public string? Label { get; set; } + +} \ No newline at end of file diff --git a/PyroFetes/Models/Effect.cs b/PyroFetes/Models/Effect.cs new file mode 100644 index 0000000..2d0ba45 --- /dev/null +++ b/PyroFetes/Models/Effect.cs @@ -0,0 +1,9 @@ +using System.ComponentModel.DataAnnotations; + +namespace PyroFetes.Models; + +public class Effect +{ + [Key] public int Id { get; set; } + [Required] public string? Label { get; set; } +} \ No newline at end of file diff --git a/PyroFetes/Models/Material.cs b/PyroFetes/Models/Material.cs new file mode 100644 index 0000000..d1ad0a9 --- /dev/null +++ b/PyroFetes/Models/Material.cs @@ -0,0 +1,13 @@ +using System.ComponentModel.DataAnnotations; + +namespace PyroFetes.Models; + +public class Material +{ + [Key] public int Id {get; set;} + [Required, MaxLength(100)] public string? Name {get; set;} + [Required] public int Quantity {get; set;} + + [Required] public int WarehouseId {get; set;} + [Required] public Warehouse? Warehouse {get; set;} +} \ No newline at end of file diff --git a/PyroFetes/Models/Movement.cs b/PyroFetes/Models/Movement.cs new file mode 100644 index 0000000..ad42494 --- /dev/null +++ b/PyroFetes/Models/Movement.cs @@ -0,0 +1,21 @@ +using System.ComponentModel.DataAnnotations; + +namespace PyroFetes.Models; + +public class Movement +{ + [Key] public int Id { get; set; } + [Required] public DateTime Date { get; set; } + [Required] public DateTime Start {get; set;} + [Required] public DateTime Arrival {get; set;} + [Required] public int Quantity {get; set;} + + [Required] public int ProductId {get; set;} + [Required] public Product? Product {get; set;} + + [Required] public int? SourceWarehouseId {get; set;} + [Required] public Warehouse? SourceWarehouse {get; set;} + + [Required] public int? DestinationWarehouseId {get; set;} + [Required] public Warehouse? DestinationWarehouse {get; set;} +} \ No newline at end of file diff --git a/PyroFetes/Models/Product.cs b/PyroFetes/Models/Product.cs new file mode 100644 index 0000000..8f1cff9 --- /dev/null +++ b/PyroFetes/Models/Product.cs @@ -0,0 +1,31 @@ +using System.ComponentModel.DataAnnotations; + +namespace PyroFetes.Models +{ + public class Product + { + [Key] public int Id { get; set; } + [Required] public int References { get; set; } + [Required, MaxLength(100)] public string? Name { get; set; } + [Required] public decimal Duration {get; set;} + [Required] public decimal Caliber { get; set; } + [Required] public int ApprovalNumber { get; set; } + [Required] public decimal Weight { get; set; } + [Required] public decimal Nec { get; set; } + [Required] public decimal SellingPrice { get; set; } + [Required] public string? Image { get; set; } + [Required] public string? Link { get; set; } + + // Relations + [Required] public int ClassificationId { get; set; } + [Required] public Classification? Classification { get; set; } + + [Required] public int ProductCategoryId { get; set; } + [Required] public ProductCategory? ProductCategory { get; set; } + + [Required] public List? Brands { get; set; } + + [Required] public List? Movements { get; set; } + + } +} \ No newline at end of file diff --git a/PyroFetes/Models/ProductCategory.cs b/PyroFetes/Models/ProductCategory.cs new file mode 100644 index 0000000..2e339ba --- /dev/null +++ b/PyroFetes/Models/ProductCategory.cs @@ -0,0 +1,11 @@ +using System.ComponentModel.DataAnnotations; + +namespace PyroFetes.Models; + +public class ProductCategory +{ + [Key] public int Id { get; set; } + [Required] public string? Label { get; set; } + + [Required] public List? Products { get; set; } +} \ No newline at end of file diff --git a/PyroFetes/Models/ProductColor.cs b/PyroFetes/Models/ProductColor.cs new file mode 100644 index 0000000..66acf11 --- /dev/null +++ b/PyroFetes/Models/ProductColor.cs @@ -0,0 +1,14 @@ +using System.ComponentModel.DataAnnotations; +using Microsoft.EntityFrameworkCore; + +namespace PyroFetes.Models; + +[PrimaryKey(nameof(ProductId), nameof(ColorId))] +public class ProductColor +{ + [Required] public Product? Product { get; set; } + [Required] public int ProductId { get; set; } + + [Required] public Color? Color { get; set; } + [Required] public int ColorId { get; set; } +} \ No newline at end of file diff --git a/PyroFetes/Models/ProductEffect.cs b/PyroFetes/Models/ProductEffect.cs new file mode 100644 index 0000000..4ac084b --- /dev/null +++ b/PyroFetes/Models/ProductEffect.cs @@ -0,0 +1,14 @@ +using System.ComponentModel.DataAnnotations; + +namespace PyroFetes.Models; + +[PrimaryKey(nameof(ProductId), nameof(EffectId))] +public class ProductEffect +{ + [Required] public Product? Product { get; set; } + [Required] public int ProductId { get; set; } + + [Required] public Effect? Effect { get; set; } + [Required] public int EffectId { get; set; } + +} \ No newline at end of file diff --git a/PyroFetes/Models/Warehouse.cs b/PyroFetes/Models/Warehouse.cs new file mode 100644 index 0000000..3b0f833 --- /dev/null +++ b/PyroFetes/Models/Warehouse.cs @@ -0,0 +1,22 @@ +using System.ComponentModel.DataAnnotations; + +namespace PyroFetes.Models; + +public class Warehouse +{ + [Key] public int Id {get; set;} + [Required, MaxLength(100)] public string? Name {get; set;} + [Required] public int MaxWeight {get; set;} + [Required] public int Current {get; set;} + [Required] public int MinWeight {get; set;} + [Required] public string? Address { get; set; } + [Required] public int ZipCode { get; set; } + [Required] public string? City { get; set; } + + + [Required] public List? Materials {get; set;} + + + [Required] public List? MovementsSource { get; set; } + [Required] public List? MovementsDestination { get; set; } +} \ No newline at end of file diff --git a/PyroFetes/Models/WarehouseProduct.cs b/PyroFetes/Models/WarehouseProduct.cs new file mode 100644 index 0000000..ca3716c --- /dev/null +++ b/PyroFetes/Models/WarehouseProduct.cs @@ -0,0 +1,14 @@ +using System.ComponentModel.DataAnnotations; + +namespace PyroFetes.Models; + +public class WarehouseProduct +{ + [Key] public int Quantity { get; set; } + + [Required] public int ProductId { get; set; } + [Required] public Product? Product { get; set; } + + [Required] public int WarehouseId { get; set; } + [Required] public Warehouse? Warehouse { get; set; } +} \ No newline at end of file