diff --git a/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts.sln b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts.sln
new file mode 100644
index 0000000..9570f3b
--- /dev/null
+++ b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.4.33122.133
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AbstractLawFirmContracts", "AbstractLawFirmContracts\AbstractLawFirmContracts.csproj", "{32D95EAA-926F-4BFA-A0A9-128BA0260A66}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {32D95EAA-926F-4BFA-A0A9-128BA0260A66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {32D95EAA-926F-4BFA-A0A9-128BA0260A66}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {32D95EAA-926F-4BFA-A0A9-128BA0260A66}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {32D95EAA-926F-4BFA-A0A9-128BA0260A66}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {EA33641B-AC1E-42E6-BA74-A1A91DAF198E}
+ EndGlobalSection
+EndGlobal
diff --git a/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/AbstractLawFirmContracts.csproj b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/AbstractLawFirmContracts.csproj
new file mode 100644
index 0000000..a57d78e
--- /dev/null
+++ b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/AbstractLawFirmContracts.csproj
@@ -0,0 +1,13 @@
+
+
+
+ net6.0
+ enable
+ enable
+
+
+
+
+
+
+
diff --git a/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/BindingModels/ComponentBindingModel.cs b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/BindingModels/ComponentBindingModel.cs
new file mode 100644
index 0000000..f228855
--- /dev/null
+++ b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/BindingModels/ComponentBindingModel.cs
@@ -0,0 +1,16 @@
+using LawFirmDataModels.Models;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LawFirmContracts.BindingModels.BindingModels
+{
+ public class ComponentBindingModel : IComponentModel
+ {
+ public int Id { get; set; }
+ public string ComponentName { get; set; } = string.Empty;
+ public double Cost { get; set; }
+ }
+}
diff --git a/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/BindingModels/DocumentBindingModel.cs b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/BindingModels/DocumentBindingModel.cs
new file mode 100644
index 0000000..a6dc178
--- /dev/null
+++ b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/BindingModels/DocumentBindingModel.cs
@@ -0,0 +1,21 @@
+using LawFirmDataModels.Models;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LawFirmContracts.BindingModels
+{
+ public class DocumentBindingModel : IDocumentModel
+ {
+ public int Id { get; set; }
+ public string DocumentName { get; set; } = string.Empty;
+ public double Price { get; set; }
+ public Dictionary DocumentComponents
+ {
+ get;
+ set;
+ } = new();
+ }
+}
diff --git a/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/BindingModels/OrderBindingModel.cs b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/BindingModels/OrderBindingModel.cs
new file mode 100644
index 0000000..6390494
--- /dev/null
+++ b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/BindingModels/OrderBindingModel.cs
@@ -0,0 +1,21 @@
+using LawFirmDataModels.Enums;
+using LawFirmDataModels.Models;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LawFirmContracts.BindingModels
+{
+ public class OrderBindingModel : IOrderModel
+ {
+ public int Id { get; set; }
+ public int DocumentId { get; set; }
+ public int Count { get; set; }
+ public double Sum { get; set; }
+ public OrderStatus Status { get; set; } = OrderStatus.Неизвестен;
+ public DateTime DateCreate { get; set; } = DateTime.Now;
+ public DateTime? DateImplement { get; set; }
+ }
+}
diff --git a/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/BusinessLogicsContracts/IComponentLogic.cs b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/BusinessLogicsContracts/IComponentLogic.cs
new file mode 100644
index 0000000..9eb0bcf
--- /dev/null
+++ b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/BusinessLogicsContracts/IComponentLogic.cs
@@ -0,0 +1,20 @@
+using LawFirmContracts.BindingModels.BindingModels;
+using LawFirmContracts.SearchModels;
+using LawFirmContracts.ViewModels;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LawFirmContracts.BusinessLogicsContracts
+{
+ public interface IComponentLogic
+ {
+ List? ReadList(ComponentSearchModel? model);
+ ComponentViewModel? ReadElement(ComponentSearchModel model);
+ bool Create(ComponentBindingModel model);
+ bool Update(ComponentBindingModel model);
+ bool Delete(ComponentBindingModel model);
+ }
+}
diff --git a/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/BusinessLogicsContracts/IDocumentLogic.cs b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/BusinessLogicsContracts/IDocumentLogic.cs
new file mode 100644
index 0000000..aaf409e
--- /dev/null
+++ b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/BusinessLogicsContracts/IDocumentLogic.cs
@@ -0,0 +1,20 @@
+using LawFirmContracts.BindingModels;
+using LawFirmContracts.SearchModels;
+using LawFirmContracts.ViewModels;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LawFirmContracts.BusinessLogicsContracts
+{
+ public interface IDocumentLogic
+ {
+ List? ReadList(DocumentSearchModel? model);
+ DocumentViewModel? ReadElement(DocumentSearchModel model);
+ bool Create(DocumentBindingModel model);
+ bool Update(DocumentBindingModel model);
+ bool Delete(DocumentBindingModel model);
+ }
+}
diff --git a/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/BusinessLogicsContracts/IOrderLogic.cs b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/BusinessLogicsContracts/IOrderLogic.cs
new file mode 100644
index 0000000..d6a638b
--- /dev/null
+++ b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/BusinessLogicsContracts/IOrderLogic.cs
@@ -0,0 +1,20 @@
+using LawFirmContracts.BindingModels;
+using LawFirmContracts.SearchModels;
+using LawFirmContracts.ViewModels;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LawFirmContracts.BusinessLogicsContracts
+{
+ public interface IOrderLogic
+ {
+ List? ReadList(OrderSearchModel? model);
+ bool CreateOrder(OrderBindingModel model);
+ bool TakeOrderInWork(OrderBindingModel model);
+ bool FinishOrder(OrderBindingModel model);
+ bool DeliveryOrder(OrderBindingModel model);
+ }
+}
diff --git a/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/SearchModels/ComponentSearchModel.cs b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/SearchModels/ComponentSearchModel.cs
new file mode 100644
index 0000000..9a0c136
--- /dev/null
+++ b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/SearchModels/ComponentSearchModel.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LawFirmContracts.SearchModels
+{
+ public class ComponentSearchModel
+ {
+ public int? Id { get; set; }
+ public string? ComponentName { get; set; }
+ }
+}
diff --git a/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/SearchModels/DocumentSearchModel.cs b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/SearchModels/DocumentSearchModel.cs
new file mode 100644
index 0000000..c93b00c
--- /dev/null
+++ b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/SearchModels/DocumentSearchModel.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LawFirmContracts.SearchModels
+{
+ public class DocumentSearchModel
+ {
+ public int? Id { get; set; }
+ public string? ProductName { get; set; }
+ }
+}
diff --git a/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/SearchModels/OrderSearchModel.cs b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/SearchModels/OrderSearchModel.cs
new file mode 100644
index 0000000..13da352
--- /dev/null
+++ b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/SearchModels/OrderSearchModel.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LawFirmContracts.SearchModels
+{
+ public class OrderSearchModel
+ {
+ public int? Id { get; set; }
+ }
+}
diff --git a/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/StoragesContracts/IComponentStorage.cs b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/StoragesContracts/IComponentStorage.cs
new file mode 100644
index 0000000..1cd97bf
--- /dev/null
+++ b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/StoragesContracts/IComponentStorage.cs
@@ -0,0 +1,21 @@
+using LawFirmContracts.BindingModels.BindingModels;
+using LawFirmContracts.SearchModels;
+using LawFirmContracts.ViewModels;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LawFirmContracts.StoragesContracts
+{
+ public interface IComponentStorage
+ {
+ List GetFullList();
+ List GetFilteredList(ComponentSearchModel model);
+ ComponentViewModel? GetElement(ComponentSearchModel model);
+ ComponentViewModel? Insert(ComponentBindingModel model);
+ ComponentViewModel? Update(ComponentBindingModel model);
+ ComponentViewModel? Delete(ComponentBindingModel model);
+ }
+}
diff --git a/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/StoragesContracts/IDocumentStorage.cs b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/StoragesContracts/IDocumentStorage.cs
new file mode 100644
index 0000000..ee76bf8
--- /dev/null
+++ b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/StoragesContracts/IDocumentStorage.cs
@@ -0,0 +1,20 @@
+using LawFirmContracts.SearchModels;
+using LawFirmContracts.ViewModels;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LawFirmContracts.StoragesContracts
+{
+ public interface IDocumentStorage
+ {
+ List GetFullList();
+ List GetFilteredList(DocumentSearchModel model);
+ DocumentViewModel? GetElement(DocumentSearchModel model);
+ DocumentViewModel? Insert(DocumentSearchModel model);
+ DocumentViewModel? Update(DocumentSearchModel model);
+ DocumentViewModel? Delete(DocumentSearchModel model);
+ }
+}
diff --git a/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/StoragesContracts/IOrderStorage.cs b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/StoragesContracts/IOrderStorage.cs
new file mode 100644
index 0000000..f2b62b9
--- /dev/null
+++ b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/StoragesContracts/IOrderStorage.cs
@@ -0,0 +1,21 @@
+using LawFirmContracts.BindingModels;
+using LawFirmContracts.SearchModels;
+using LawFirmContracts.ViewModels;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LawFirmContracts.StoragesContracts
+{
+ public interface IOrderStorage
+ {
+ List GetFullList();
+ List GetFilteredList(OrderSearchModel model);
+ OrderViewModel? GetElement(OrderSearchModel model);
+ OrderViewModel? Insert(OrderBindingModel model);
+ OrderViewModel? Update(OrderBindingModel model);
+ OrderViewModel? Delete(OrderBindingModel model);
+ }
+}
diff --git a/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/ViewModels/ComponentViewModel.cs b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/ViewModels/ComponentViewModel.cs
new file mode 100644
index 0000000..2008a60
--- /dev/null
+++ b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/ViewModels/ComponentViewModel.cs
@@ -0,0 +1,19 @@
+using LawFirmDataModels.Models;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LawFirmContracts.ViewModels
+{
+ public class ComponentViewModel : IComponentModel
+ {
+ public int Id { get; set; }
+ [DisplayName("Название бланка")]
+ public string ComponentName { get; set; } = string.Empty;
+ [DisplayName("Цена")]
+ public double Cost { get; set; }
+ }
+}
diff --git a/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/ViewModels/DocumentViewModel.cs b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/ViewModels/DocumentViewModel.cs
new file mode 100644
index 0000000..b1c6e52
--- /dev/null
+++ b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/ViewModels/DocumentViewModel.cs
@@ -0,0 +1,25 @@
+using LawFirmDataModels.Models;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LawFirmContracts.ViewModels
+{
+ public class DocumentViewModel : IDocumentModel
+ {
+ public int Id { get; set; }
+ [DisplayName("Название пакета документов")]
+ public string DocumentName { get; set; } = string.Empty;
+ [DisplayName("Цена")]
+ public double Price { get; set; }
+ public Dictionary DocumentComponents
+ {
+ get;
+ set;
+ } = new();
+
+ }
+}
diff --git a/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/ViewModels/OrderViewModel.cs b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/ViewModels/OrderViewModel.cs
new file mode 100644
index 0000000..b4a1103
--- /dev/null
+++ b/LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/ViewModels/OrderViewModel.cs
@@ -0,0 +1,30 @@
+using LawFirmDataModels.Enums;
+using LawFirmDataModels.Models;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LawFirmContracts.ViewModels
+{
+ public class OrderViewModel : IOrderModel
+ {
+ [DisplayName("Номер")]
+ public int Id { get; set; }
+ public int DocumentId { get; set; }
+ [DisplayName("Пакет документов")]
+ public string ProductName { get; set; } = string.Empty;
+ [DisplayName("Количество")]
+ public int Count { get; set; }
+ [DisplayName("Сумма")]
+ public double Sum { get; set; }
+ [DisplayName("Статус")]
+ public OrderStatus Status { get; set; } = OrderStatus.Неизвестен;
+ [DisplayName("Дата создания")]
+ public DateTime DateCreate { get; set; } = DateTime.Now;
+ [DisplayName("Дата выполнения")]
+ public DateTime? DateImplement { get; set; }
+ }
+}
diff --git a/LawFirm/AbstractLawFirmDataModels/AbstractLawFirmDataModels.sln b/LawFirm/AbstractLawFirmDataModels/AbstractLawFirmDataModels.sln
new file mode 100644
index 0000000..3c428c6
--- /dev/null
+++ b/LawFirm/AbstractLawFirmDataModels/AbstractLawFirmDataModels.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.4.33122.133
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AbstractLawFirmDataModels", "AbstractLawFirmDataModels\AbstractLawFirmDataModels.csproj", "{9CA9492B-F2F5-40A3-821B-F7EC14AEFE5D}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {9CA9492B-F2F5-40A3-821B-F7EC14AEFE5D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9CA9492B-F2F5-40A3-821B-F7EC14AEFE5D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9CA9492B-F2F5-40A3-821B-F7EC14AEFE5D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9CA9492B-F2F5-40A3-821B-F7EC14AEFE5D}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {3F1F2B80-1FE8-42C3-9167-E2E50274FE15}
+ EndGlobalSection
+EndGlobal
diff --git a/LawFirm/AbstractLawFirmDataModels/AbstractLawFirmDataModels/AbstractLawFirmDataModels.csproj b/LawFirm/AbstractLawFirmDataModels/AbstractLawFirmDataModels/AbstractLawFirmDataModels.csproj
new file mode 100644
index 0000000..132c02c
--- /dev/null
+++ b/LawFirm/AbstractLawFirmDataModels/AbstractLawFirmDataModels/AbstractLawFirmDataModels.csproj
@@ -0,0 +1,9 @@
+
+
+
+ net6.0
+ enable
+ enable
+
+
+
diff --git a/LawFirm/AbstractLawFirmDataModels/AbstractLawFirmDataModels/Enums/OrderStatus.cs b/LawFirm/AbstractLawFirmDataModels/AbstractLawFirmDataModels/Enums/OrderStatus.cs
new file mode 100644
index 0000000..afb4ab0
--- /dev/null
+++ b/LawFirm/AbstractLawFirmDataModels/AbstractLawFirmDataModels/Enums/OrderStatus.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LawFirmDataModels.Enums
+{
+ public enum OrderStatus
+ {
+ Неизвестен = -1,
+ Принят = 0,
+ Выполняется = 1,
+ Готов = 2,
+ Выдан = 3
+ }
+}
diff --git a/LawFirm/AbstractLawFirmDataModels/AbstractLawFirmDataModels/IId.cs b/LawFirm/AbstractLawFirmDataModels/AbstractLawFirmDataModels/IId.cs
new file mode 100644
index 0000000..1af150c
--- /dev/null
+++ b/LawFirm/AbstractLawFirmDataModels/AbstractLawFirmDataModels/IId.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LawFirmDataModels
+{
+ public interface IId
+ {
+ int Id { get; }
+ }
+}
diff --git a/LawFirm/AbstractLawFirmDataModels/AbstractLawFirmDataModels/Models/IComponentModel.cs b/LawFirm/AbstractLawFirmDataModels/AbstractLawFirmDataModels/Models/IComponentModel.cs
new file mode 100644
index 0000000..2031eb5
--- /dev/null
+++ b/LawFirm/AbstractLawFirmDataModels/AbstractLawFirmDataModels/Models/IComponentModel.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using LawFirmDataModels;
+
+namespace LawFirmDataModels.Models
+{
+ public interface IComponentModel : IId
+ {
+ string ComponentName { get; }
+ double Cost { get; }
+
+ }
+}
diff --git a/LawFirm/AbstractLawFirmDataModels/AbstractLawFirmDataModels/Models/IDocumentModel.cs b/LawFirm/AbstractLawFirmDataModels/AbstractLawFirmDataModels/Models/IDocumentModel.cs
new file mode 100644
index 0000000..52039de
--- /dev/null
+++ b/LawFirm/AbstractLawFirmDataModels/AbstractLawFirmDataModels/Models/IDocumentModel.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using LawFirmDataModels;
+
+namespace LawFirmDataModels.Models
+{
+ public interface IDocumentModel : IId
+ {
+ string DocumentName { get; }
+ double Price { get; }
+ Dictionary DocumentComponents { get; }
+ }
+}
diff --git a/LawFirm/AbstractLawFirmDataModels/AbstractLawFirmDataModels/Models/IOrderModel.cs b/LawFirm/AbstractLawFirmDataModels/AbstractLawFirmDataModels/Models/IOrderModel.cs
new file mode 100644
index 0000000..728eb34
--- /dev/null
+++ b/LawFirm/AbstractLawFirmDataModels/AbstractLawFirmDataModels/Models/IOrderModel.cs
@@ -0,0 +1,21 @@
+using LawFirmDataModels;
+using LawFirmDataModels.Enums;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LawFirmDataModels.Models
+{
+ public interface IOrderModel : IId
+ {
+ int DocumentId { get; }
+ int Count { get; }
+ double Sum { get; }
+ OrderStatus Status { get; }
+ DateTime DateCreate { get; }
+ DateTime? DateImplement { get; }
+
+ }
+}
diff --git a/LawFirm/LawFirm.sln b/LawFirm/LawFirm.sln
index 9e2e3b4..3eca375 100644
--- a/LawFirm/LawFirm.sln
+++ b/LawFirm/LawFirm.sln
@@ -3,7 +3,11 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.4.33122.133
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LawFirm", "LawFirm\LawFirm.csproj", "{37E3649B-C56A-4E69-9C69-2A68285FCD0D}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LawFirmView", "LawFirmView\LawFirmView.csproj", "{32CEC3FF-22BE-4DCD-8955-E3B14953EA67}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LawFirmDataModels", "AbstractLawFirmDataModels\AbstractLawFirmDataModels\LawFirmDataModels.csproj", "{99CE17B9-0CCE-42B6-B73F-61E8D49F1AAB}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LawFirmContracts", "AbstractLawFirmContracts\AbstractLawFirmContracts\LawFirmContracts.csproj", "{C0155B2E-5974-4835-996B-6FDF0F5BC06B}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -11,10 +15,18 @@ Global
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {37E3649B-C56A-4E69-9C69-2A68285FCD0D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {37E3649B-C56A-4E69-9C69-2A68285FCD0D}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {37E3649B-C56A-4E69-9C69-2A68285FCD0D}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {37E3649B-C56A-4E69-9C69-2A68285FCD0D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {32CEC3FF-22BE-4DCD-8955-E3B14953EA67}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {32CEC3FF-22BE-4DCD-8955-E3B14953EA67}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {32CEC3FF-22BE-4DCD-8955-E3B14953EA67}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {32CEC3FF-22BE-4DCD-8955-E3B14953EA67}.Release|Any CPU.Build.0 = Release|Any CPU
+ {99CE17B9-0CCE-42B6-B73F-61E8D49F1AAB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {99CE17B9-0CCE-42B6-B73F-61E8D49F1AAB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {99CE17B9-0CCE-42B6-B73F-61E8D49F1AAB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {99CE17B9-0CCE-42B6-B73F-61E8D49F1AAB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C0155B2E-5974-4835-996B-6FDF0F5BC06B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C0155B2E-5974-4835-996B-6FDF0F5BC06B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C0155B2E-5974-4835-996B-6FDF0F5BC06B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C0155B2E-5974-4835-996B-6FDF0F5BC06B}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE