diff --git a/PuferFishContracts/PuferFishContracts.sln b/PuferFishContracts/PuferFishContracts.sln index 367e681..c91b348 100644 --- a/PuferFishContracts/PuferFishContracts.sln +++ b/PuferFishContracts/PuferFishContracts.sln @@ -9,6 +9,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PuferFishTests", "PuferFish EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PuferFishBusinessLogic", "PuferFishBusinessLogic\PuferFishBusinessLogic.csproj", "{6997CEC9-5AB7-40C0-9873-E51D2674187B}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PuferFishDataBase", "PuferFishDataBase\PuferFishDataBase.csproj", "{B50100BC-3D08-48A8-921D-1EB5D1FE8674}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -27,6 +29,10 @@ Global {6997CEC9-5AB7-40C0-9873-E51D2674187B}.Debug|Any CPU.Build.0 = Debug|Any CPU {6997CEC9-5AB7-40C0-9873-E51D2674187B}.Release|Any CPU.ActiveCfg = Release|Any CPU {6997CEC9-5AB7-40C0-9873-E51D2674187B}.Release|Any CPU.Build.0 = Release|Any CPU + {B50100BC-3D08-48A8-921D-1EB5D1FE8674}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B50100BC-3D08-48A8-921D-1EB5D1FE8674}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B50100BC-3D08-48A8-921D-1EB5D1FE8674}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B50100BC-3D08-48A8-921D-1EB5D1FE8674}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/PuferFishContracts/PuferFishDataBase/Models/Buyer.cs b/PuferFishContracts/PuferFishDataBase/Models/Buyer.cs new file mode 100644 index 0000000..1a912a8 --- /dev/null +++ b/PuferFishContracts/PuferFishDataBase/Models/Buyer.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace PuferFishDataBase.Models; + +internal class Buyer +{ + public required string Id { get; set; } + public required string FIO { get; set; } + public required string PhoneNumber { get; set; } + public double Points { get; set; } + + [ForeignKey("BuyerId")] + public List? Sales { get; set; } + + [ForeignKey("BuyerId")] + public List? Pointss { get; set; } +} diff --git a/PuferFishContracts/PuferFishDataBase/Models/Points.cs b/PuferFishContracts/PuferFishDataBase/Models/Points.cs new file mode 100644 index 0000000..45768c9 --- /dev/null +++ b/PuferFishContracts/PuferFishDataBase/Models/Points.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace PuferFishDataBase.Models; + +internal class Points +{ + public string Id { get; set; } = Guid.NewGuid().ToString(); + public string BuyerId { get; set; } + public DateTime PointsDate { get; set; } + public double BuyerPoints { get; set; } + + public Buyer? Buyer { get; set; } +} diff --git a/PuferFishContracts/PuferFishDataBase/Models/Post.cs b/PuferFishContracts/PuferFishDataBase/Models/Post.cs new file mode 100644 index 0000000..9fea303 --- /dev/null +++ b/PuferFishContracts/PuferFishDataBase/Models/Post.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using PuferFishContracts.Enums; + +namespace PuferFishDataBase.Models; + +internal class Post +{ + public string Id { get; set; } = Guid.NewGuid().ToString(); + public required string PostId { get; set; } + public required string PostName { get; set; } + public PostType PostType { get; set; } + public double Salary { get; set; } + public bool IsActual { get; set; } + public DateTime ChangeDate { get; set; } +} diff --git a/PuferFishContracts/PuferFishDataBase/Models/Product.cs b/PuferFishContracts/PuferFishDataBase/Models/Product.cs new file mode 100644 index 0000000..7bd79cf --- /dev/null +++ b/PuferFishContracts/PuferFishDataBase/Models/Product.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using PuferFishContracts.Enums; + +namespace PuferFishDataBase.Models; + +internal class Product +{ + public required string Id { get; set; } + public required string ProductName { get; set; } + public ProductType ProductType { get; set; } + public double Price { get; set; } + public bool IsDeleted { get; set; } + public string? PrevProductName { get; set; } + public string? PrevPrevProductName { get; set; } + + [ForeignKey("ProductId")] + public List? ProductHistories { get; set; } + [ForeignKey("ProductId")] + public List? SaleProducts { get; set; } +} diff --git a/PuferFishContracts/PuferFishDataBase/Models/ProductHistory.cs b/PuferFishContracts/PuferFishDataBase/Models/ProductHistory.cs new file mode 100644 index 0000000..669832c --- /dev/null +++ b/PuferFishContracts/PuferFishDataBase/Models/ProductHistory.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace PuferFishDataBase.Models; + +internal class ProductHistory +{ + public string Id { get; set; } = Guid.NewGuid().ToString(); + public required string ProductId { get; set; } + public double OldPrice { get; set; } + public DateTime ChangeDate { get; set; } = DateTime.UtcNow; + + public Product? Product { get; set; } +} diff --git a/PuferFishContracts/PuferFishDataBase/Models/Sale.cs b/PuferFishContracts/PuferFishDataBase/Models/Sale.cs new file mode 100644 index 0000000..d23b244 --- /dev/null +++ b/PuferFishContracts/PuferFishDataBase/Models/Sale.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace PuferFishDataBase.Models; +internal class Sale +{ + public string Id { get; set; } = Guid.NewGuid().ToString(); + public required string WorkerId { get; set; } + public string? BuyerId { get; set; } + public DateTime SaleDate { get; set; } + public double Sum { get; set; } + public double Points { get; set; } + public bool IsCancel { get; set; } + public Worker? Worker { get; set; } + public Buyer? Buyer { get; set; } + + [ForeignKey("SaleId")] + public List? SaleProducts { get; set; } +} diff --git a/PuferFishContracts/PuferFishDataBase/Models/SaleProduct.cs b/PuferFishContracts/PuferFishDataBase/Models/SaleProduct.cs new file mode 100644 index 0000000..adefae7 --- /dev/null +++ b/PuferFishContracts/PuferFishDataBase/Models/SaleProduct.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace PuferFishDataBase.Models; + +internal class SaleProduct +{ + public required string SaleId { get; set; } + public required string ProductId { get; set; } + public int Count { get; set; } + public double Price { get; set; } + + public Sale? Sale { get; set; } + public Product? Product { get; set; } +} diff --git a/PuferFishContracts/PuferFishDataBase/Models/Worker.cs b/PuferFishContracts/PuferFishDataBase/Models/Worker.cs new file mode 100644 index 0000000..626a65c --- /dev/null +++ b/PuferFishContracts/PuferFishDataBase/Models/Worker.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace PuferFishDataBase.Models; + +internal class Worker +{ + public required string Id { get; set; } + public required string FIO { get; set; } + public required string PostId { get; set; } + public DateTime BirthDate { get; set; } + public DateTime EmploymentDate { get; set; } + public bool IsDeleted { get; set; } +} diff --git a/PuferFishContracts/PuferFishDataBase/PuferFishDataBase.csproj b/PuferFishContracts/PuferFishDataBase/PuferFishDataBase.csproj new file mode 100644 index 0000000..0adc9e6 --- /dev/null +++ b/PuferFishContracts/PuferFishDataBase/PuferFishDataBase.csproj @@ -0,0 +1,13 @@ + + + + net9.0 + enable + enable + + + + + + +