diff --git a/Canteen/Canteen.sln b/Canteen/Canteen.sln
new file mode 100644
index 0000000..bd907b9
--- /dev/null
+++ b/Canteen/Canteen.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.4.33403.182
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CanteenDataModels", "CanteenDataModels\CanteenDataModels.csproj", "{F11EA5AA-83D7-4D06-9DC5-E2C8E726BC4A}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {F11EA5AA-83D7-4D06-9DC5-E2C8E726BC4A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F11EA5AA-83D7-4D06-9DC5-E2C8E726BC4A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F11EA5AA-83D7-4D06-9DC5-E2C8E726BC4A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F11EA5AA-83D7-4D06-9DC5-E2C8E726BC4A}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {939F96DE-61BC-438B-9904-E07CEC3136CB}
+ EndGlobalSection
+EndGlobal
diff --git a/Canteen/CanteenDataModels/CanteenDataModels.csproj b/Canteen/CanteenDataModels/CanteenDataModels.csproj
new file mode 100644
index 0000000..7264f69
--- /dev/null
+++ b/Canteen/CanteenDataModels/CanteenDataModels.csproj
@@ -0,0 +1,14 @@
+
+
+
+ net6.0
+ enable
+ enable
+
+
+
+
+
+
+
+
diff --git a/Canteen/CanteenDataModels/Enums/OrderStatus.cs b/Canteen/CanteenDataModels/Enums/OrderStatus.cs
new file mode 100644
index 0000000..5d79500
--- /dev/null
+++ b/Canteen/CanteenDataModels/Enums/OrderStatus.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CanteenDataModels.Enums
+{
+ public enum OrderStatus
+ {
+ Неизвестен = -1,
+ Принят = 0,
+ Выполняется = 1,
+ Готов = 2,
+ Выдан = 3
+ }
+}
diff --git a/Canteen/CanteenDataModels/IId.cs b/Canteen/CanteenDataModels/IId.cs
new file mode 100644
index 0000000..5450c85
--- /dev/null
+++ b/Canteen/CanteenDataModels/IId.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CanteenDataModels
+{
+ public interface IId
+ {
+ int Id { get; }
+ }
+}
diff --git a/Canteen/CanteenDataModels/Models/ICookModel.cs b/Canteen/CanteenDataModels/Models/ICookModel.cs
new file mode 100644
index 0000000..1d51da2
--- /dev/null
+++ b/Canteen/CanteenDataModels/Models/ICookModel.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CanteenDataModels.Models
+{
+ public interface ICookModel : IId
+ {
+ string Name { get; }
+ string Surname { get; }
+ string? Patronymic { get; }
+ DateTime DateOfBirth { get; }
+ string Position { get; }
+ int ClientId { get; }
+ }
+}
diff --git a/Canteen/CanteenDataModels/Models/IDishModel.cs b/Canteen/CanteenDataModels/Models/IDishModel.cs
new file mode 100644
index 0000000..181a7fc
--- /dev/null
+++ b/Canteen/CanteenDataModels/Models/IDishModel.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CanteenDataModels.Models
+{
+ public interface IDishModel : IId
+ {
+ string DishName { get; }
+ double Cost { get; }
+ int VisitorId { get; }
+ int ProductId { get; }
+ }
+}
diff --git a/Canteen/CanteenDataModels/Models/ILunchModel.cs b/Canteen/CanteenDataModels/Models/ILunchModel.cs
new file mode 100644
index 0000000..b3c23f4
--- /dev/null
+++ b/Canteen/CanteenDataModels/Models/ILunchModel.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CanteenDataModels.Models
+{
+ public interface ILunchModel : IId
+ {
+ string LunchName { get; }
+ double Cost { get; }
+ int VisitorId { get; }
+ Dictionary LunchProducts { get; }
+ }
+}
diff --git a/Canteen/CanteenDataModels/Models/IManagerModel.cs b/Canteen/CanteenDataModels/Models/IManagerModel.cs
new file mode 100644
index 0000000..7fbfcea
--- /dev/null
+++ b/Canteen/CanteenDataModels/Models/IManagerModel.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CanteenDataModels.Models
+{
+ public interface IManagerModel : IId
+ {
+ string FIO { get; }
+ string Login { get; }
+ string Password { get; }
+ string PhoneNumber { get; }
+ int RoleId { get; }
+ }
+}
diff --git a/Canteen/CanteenDataModels/Models/IOrderModel.cs b/Canteen/CanteenDataModels/Models/IOrderModel.cs
new file mode 100644
index 0000000..5ac5131
--- /dev/null
+++ b/Canteen/CanteenDataModels/Models/IOrderModel.cs
@@ -0,0 +1,18 @@
+using CanteenDataModels.Enums;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CanteenDataModels.Models
+{
+ public interface IOrderModel : IId
+ {
+ int ClientId { get; }
+ double Sum { get; }
+ OrderStatus Status { get; }
+ DateTime DateCreate { get; }
+ DateTime? DateImplement { get; }
+ }
+}
diff --git a/Canteen/CanteenDataModels/Models/IProductModel.cs b/Canteen/CanteenDataModels/Models/IProductModel.cs
new file mode 100644
index 0000000..21f896b
--- /dev/null
+++ b/Canteen/CanteenDataModels/Models/IProductModel.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CanteenDataModels.Models
+{
+ public interface IProductModel : IId
+ {
+ string ProductName { get; }
+ double Cost { get; }
+ int ClientId { get; }
+ Dictionary ProductCooks { get; }
+ }
+}
diff --git a/Canteen/CanteenDataModels/Models/IRoleModel.cs b/Canteen/CanteenDataModels/Models/IRoleModel.cs
new file mode 100644
index 0000000..3965986
--- /dev/null
+++ b/Canteen/CanteenDataModels/Models/IRoleModel.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CanteenDataModels.Models
+{
+ public interface IRoleModel : IId
+ {
+ string RoleName { get; }
+ }
+}
diff --git a/Canteen/CanteenDataModels/Models/ITablewareModel.cs b/Canteen/CanteenDataModels/Models/ITablewareModel.cs
new file mode 100644
index 0000000..e413814
--- /dev/null
+++ b/Canteen/CanteenDataModels/Models/ITablewareModel.cs
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CanteenDataModels.Models
+{
+ public interface ITablewareModel : IId
+ {
+ string TablewareName { get; }
+ int ClientId { get; }
+ int OrderId { get; }
+ }
+}
diff --git a/Canteen/CanteenDataModels/Models/IVisitorModel.cs b/Canteen/CanteenDataModels/Models/IVisitorModel.cs
new file mode 100644
index 0000000..4eff790
--- /dev/null
+++ b/Canteen/CanteenDataModels/Models/IVisitorModel.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CanteenDataModels.Models
+{
+ public interface IVisitorModel : IId
+ {
+ string FIO { get; }
+ string Login { get; }
+ string Password { get; }
+ string PhoneNumber { get; }
+ int RoleId { get; }
+ }
+}