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