From 651c170ce2428bb1fe45be11093bf5c4316850d0 Mon Sep 17 00:00:00 2001 From: xom9k Date: Tue, 25 Feb 2025 13:40:10 +0400 Subject: [PATCH] =?UTF-8?q?=D0=9F=D1=80=D0=BE=D0=B5=D0=BA=D1=82=20=D0=B8?= =?UTF-8?q?=20=D0=BC=D0=BE=D0=B4=D0=B5=D0=BB=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MagicCarpetDatabase.csproj | 13 ++++++++ .../MagicCarpetDatabase/Models/Client.cs | 21 ++++++++++++ .../MagicCarpetDatabase/Models/Employee.cs | 29 +++++++++++++++++ .../MagicCarpetDatabase/Models/Post.cs | 20 ++++++++++++ .../MagicCarpetDatabase/Models/Salary.cs | 15 +++++++++ .../MagicCarpetDatabase/Models/Sale.cs | 32 +++++++++++++++++++ .../MagicCarpetDatabase/Models/SaleTour.cs | 18 +++++++++++ .../MagicCarpetDatabase/Models/Tour.cs | 23 +++++++++++++ .../MagicCarpetDatabase/Models/TourHistory.cs | 16 ++++++++++ MagicCarpetProject/MagicCarpetProject.sln | 6 ++++ 10 files changed, 193 insertions(+) create mode 100644 MagicCarpetProject/MagicCarpetDatabase/MagicCarpetDatabase.csproj create mode 100644 MagicCarpetProject/MagicCarpetDatabase/Models/Client.cs create mode 100644 MagicCarpetProject/MagicCarpetDatabase/Models/Employee.cs create mode 100644 MagicCarpetProject/MagicCarpetDatabase/Models/Post.cs create mode 100644 MagicCarpetProject/MagicCarpetDatabase/Models/Salary.cs create mode 100644 MagicCarpetProject/MagicCarpetDatabase/Models/Sale.cs create mode 100644 MagicCarpetProject/MagicCarpetDatabase/Models/SaleTour.cs create mode 100644 MagicCarpetProject/MagicCarpetDatabase/Models/Tour.cs create mode 100644 MagicCarpetProject/MagicCarpetDatabase/Models/TourHistory.cs diff --git a/MagicCarpetProject/MagicCarpetDatabase/MagicCarpetDatabase.csproj b/MagicCarpetProject/MagicCarpetDatabase/MagicCarpetDatabase.csproj new file mode 100644 index 0000000..6a65184 --- /dev/null +++ b/MagicCarpetProject/MagicCarpetDatabase/MagicCarpetDatabase.csproj @@ -0,0 +1,13 @@ + + + + net8.0 + enable + enable + + + + + + + diff --git a/MagicCarpetProject/MagicCarpetDatabase/Models/Client.cs b/MagicCarpetProject/MagicCarpetDatabase/Models/Client.cs new file mode 100644 index 0000000..6115edd --- /dev/null +++ b/MagicCarpetProject/MagicCarpetDatabase/Models/Client.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MagicCarpetDatabase.Models; + +internal class Client +{ + public required string Id { get; set; } + + public required string FIO { get; set; } + + public required string PhoneNumber { get; set; } + + public double DiscountSize { get; set; } + [ForeignKey("ClientId")] + public List? Sales { get; set; } +} diff --git a/MagicCarpetProject/MagicCarpetDatabase/Models/Employee.cs b/MagicCarpetProject/MagicCarpetDatabase/Models/Employee.cs new file mode 100644 index 0000000..1d82297 --- /dev/null +++ b/MagicCarpetProject/MagicCarpetDatabase/Models/Employee.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MagicCarpetDatabase.Models; + +internal class Employee +{ + public required string Id { get; set; } + + public required string FIO { get; set; } + + public string Email { get; set; } + + public required string PostId { get; set; } + + public DateTime BirthDate { get; set; } + + public DateTime EmploymentDate { get; set; } + + public bool IsDeleted { get; set; } + [ForeignKey("EmployeeId")] + public List? Salaries { get; set; } + [ForeignKey("EmployeeId")] + public List? Sales { get; set; } +} diff --git a/MagicCarpetProject/MagicCarpetDatabase/Models/Post.cs b/MagicCarpetProject/MagicCarpetDatabase/Models/Post.cs new file mode 100644 index 0000000..0d781f1 --- /dev/null +++ b/MagicCarpetProject/MagicCarpetDatabase/Models/Post.cs @@ -0,0 +1,20 @@ +using MagicCarpetContracts.Enums; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MagicCarpetDatabase.Models; + +internal class Post +{ + public required string Id { get; set; } + 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/MagicCarpetProject/MagicCarpetDatabase/Models/Salary.cs b/MagicCarpetProject/MagicCarpetDatabase/Models/Salary.cs new file mode 100644 index 0000000..93b4bff --- /dev/null +++ b/MagicCarpetProject/MagicCarpetDatabase/Models/Salary.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MagicCarpetDatabase.Models; + +internal class Salary +{ + public required string Id { get; set; } = Guid.NewGuid().ToString(); + public required string EmployeeId { get; set; } + public DateTime SalaryDate { get; set; } + public double EmployeeSalary { get; set; } +} diff --git a/MagicCarpetProject/MagicCarpetDatabase/Models/Sale.cs b/MagicCarpetProject/MagicCarpetDatabase/Models/Sale.cs new file mode 100644 index 0000000..b05bb03 --- /dev/null +++ b/MagicCarpetProject/MagicCarpetDatabase/Models/Sale.cs @@ -0,0 +1,32 @@ +using MagicCarpetContracts.DataModels; +using MagicCarpetContracts.Enums; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MagicCarpetDatabase.Models; + +internal class Sale +{ + public required string Id { get; set; } + + public required string EmployeeId { get; set; } + + public string? ClientId { get; set; } + + public DateTime SaleDate { get; set; } + public double Sum { get; private set; } + + public DiscountType DiscountType { get; set; } + + public double Discount { get; set; } + + public bool IsCancel { get; set; } + public Employee? Employee { get; set; } + public Client? Client { get; set; } + [ForeignKey("SaleId")] + public List? SaleTours { get; set; } +} diff --git a/MagicCarpetProject/MagicCarpetDatabase/Models/SaleTour.cs b/MagicCarpetProject/MagicCarpetDatabase/Models/SaleTour.cs new file mode 100644 index 0000000..a45f946 --- /dev/null +++ b/MagicCarpetProject/MagicCarpetDatabase/Models/SaleTour.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MagicCarpetDatabase.Models; + +internal class SaleTour +{ + public required string SaleId { get; set; } + + public required string TourId { get; set; } + + public int Count { get; set; } + public Sale? Sale { get; set; } + public Tour? Tour { get; set; } +} diff --git a/MagicCarpetProject/MagicCarpetDatabase/Models/Tour.cs b/MagicCarpetProject/MagicCarpetDatabase/Models/Tour.cs new file mode 100644 index 0000000..7fc966a --- /dev/null +++ b/MagicCarpetProject/MagicCarpetDatabase/Models/Tour.cs @@ -0,0 +1,23 @@ +using MagicCarpetContracts.Enums; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.Diagnostics; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MagicCarpetDatabase.Models; + +internal class Tour +{ + public required string Id { get; set; } = Guid.NewGuid().ToString(); + public required string TourName { get; set; } + public string TourCountry { get; set; } + public double Price { get; set; } + public TourType Type { get; set; } + [ForeignKey("TourId")] + public List? SaleTours { get; set; } + [ForeignKey("TourId")] + public List? TourHistories { get; set; } +} diff --git a/MagicCarpetProject/MagicCarpetDatabase/Models/TourHistory.cs b/MagicCarpetProject/MagicCarpetDatabase/Models/TourHistory.cs new file mode 100644 index 0000000..1cf6f6c --- /dev/null +++ b/MagicCarpetProject/MagicCarpetDatabase/Models/TourHistory.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MagicCarpetDatabase.Models; + +internal class TourHistory +{ + public required string Id { get; set; } = Guid.NewGuid().ToString(); + public required string TourId { get; set; } + public double OldPrice { get; set; } + public DateTime ChangeDate { get; set; } + public Tour? Tour { get; set; } +} diff --git a/MagicCarpetProject/MagicCarpetProject.sln b/MagicCarpetProject/MagicCarpetProject.sln index 301645e..9ded8d3 100644 --- a/MagicCarpetProject/MagicCarpetProject.sln +++ b/MagicCarpetProject/MagicCarpetProject.sln @@ -9,6 +9,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MagicCarpetTests", "MagicCa EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MagicCarpetBusinessLogic", "MagicCarpetBusinessLogic\MagicCarpetBusinessLogic.csproj", "{688F9182-851F-4CF8-97CD-9B6F1E43D758}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MagicCarpetDatabase", "MagicCarpetDatabase\MagicCarpetDatabase.csproj", "{C69B43B2-8680-42D7-A111-306E2E8225FE}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -27,6 +29,10 @@ Global {688F9182-851F-4CF8-97CD-9B6F1E43D758}.Debug|Any CPU.Build.0 = Debug|Any CPU {688F9182-851F-4CF8-97CD-9B6F1E43D758}.Release|Any CPU.ActiveCfg = Release|Any CPU {688F9182-851F-4CF8-97CD-9B6F1E43D758}.Release|Any CPU.Build.0 = Release|Any CPU + {C69B43B2-8680-42D7-A111-306E2E8225FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C69B43B2-8680-42D7-A111-306E2E8225FE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C69B43B2-8680-42D7-A111-306E2E8225FE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C69B43B2-8680-42D7-A111-306E2E8225FE}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE