From 52c75ab5687be05060a06e4fc7e9e1d5c8b56a82 Mon Sep 17 00:00:00 2001 From: AnnaLioness Date: Sun, 11 Feb 2024 02:23:45 +0400 Subject: [PATCH] =?UTF-8?q?1=20=D1=87=D0=B0=D1=81=D1=82=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AbstractLawFirmContracts.sln | 25 ++++++++++++++++ .../AbstractLawFirmContracts.csproj | 13 ++++++++ .../BindingModels/ComponentBindingModel.cs | 16 ++++++++++ .../BindingModels/DocumentBindingModel.cs | 21 +++++++++++++ .../BindingModels/OrderBindingModel.cs | 21 +++++++++++++ .../IComponentLogic.cs | 20 +++++++++++++ .../BusinessLogicsContracts/IDocumentLogic.cs | 20 +++++++++++++ .../BusinessLogicsContracts/IOrderLogic.cs | 20 +++++++++++++ .../SearchModels/ComponentSearchModel.cs | 14 +++++++++ .../SearchModels/DocumentSearchModel.cs | 14 +++++++++ .../SearchModels/OrderSearchModel.cs | 13 ++++++++ .../StoragesContracts/IComponentStorage.cs | 21 +++++++++++++ .../StoragesContracts/IDocumentStorage.cs | 20 +++++++++++++ .../StoragesContracts/IOrderStorage.cs | 21 +++++++++++++ .../ViewModels/ComponentViewModel.cs | 19 ++++++++++++ .../ViewModels/DocumentViewModel.cs | 25 ++++++++++++++++ .../ViewModels/OrderViewModel.cs | 30 +++++++++++++++++++ .../AbstractLawFirmDataModels.sln | 25 ++++++++++++++++ .../AbstractLawFirmDataModels.csproj | 9 ++++++ .../Enums/OrderStatus.cs | 17 +++++++++++ .../AbstractLawFirmDataModels/IId.cs | 13 ++++++++ .../Models/IComponentModel.cs | 16 ++++++++++ .../Models/IDocumentModel.cs | 16 ++++++++++ .../Models/IOrderModel.cs | 21 +++++++++++++ LawFirm/LawFirm.sln | 22 ++++++++++---- 25 files changed, 467 insertions(+), 5 deletions(-) create mode 100644 LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts.sln create mode 100644 LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/AbstractLawFirmContracts.csproj create mode 100644 LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/BindingModels/ComponentBindingModel.cs create mode 100644 LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/BindingModels/DocumentBindingModel.cs create mode 100644 LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/BindingModels/OrderBindingModel.cs create mode 100644 LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/BusinessLogicsContracts/IComponentLogic.cs create mode 100644 LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/BusinessLogicsContracts/IDocumentLogic.cs create mode 100644 LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/BusinessLogicsContracts/IOrderLogic.cs create mode 100644 LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/SearchModels/ComponentSearchModel.cs create mode 100644 LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/SearchModels/DocumentSearchModel.cs create mode 100644 LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/SearchModels/OrderSearchModel.cs create mode 100644 LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/StoragesContracts/IComponentStorage.cs create mode 100644 LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/StoragesContracts/IDocumentStorage.cs create mode 100644 LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/StoragesContracts/IOrderStorage.cs create mode 100644 LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/ViewModels/ComponentViewModel.cs create mode 100644 LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/ViewModels/DocumentViewModel.cs create mode 100644 LawFirm/AbstractLawFirmContracts/AbstractLawFirmContracts/ViewModels/OrderViewModel.cs create mode 100644 LawFirm/AbstractLawFirmDataModels/AbstractLawFirmDataModels.sln create mode 100644 LawFirm/AbstractLawFirmDataModels/AbstractLawFirmDataModels/AbstractLawFirmDataModels.csproj create mode 100644 LawFirm/AbstractLawFirmDataModels/AbstractLawFirmDataModels/Enums/OrderStatus.cs create mode 100644 LawFirm/AbstractLawFirmDataModels/AbstractLawFirmDataModels/IId.cs create mode 100644 LawFirm/AbstractLawFirmDataModels/AbstractLawFirmDataModels/Models/IComponentModel.cs create mode 100644 LawFirm/AbstractLawFirmDataModels/AbstractLawFirmDataModels/Models/IDocumentModel.cs create mode 100644 LawFirm/AbstractLawFirmDataModels/AbstractLawFirmDataModels/Models/IOrderModel.cs 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