From 83fbbb02893d136d22e844899003622ce1b9d0cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=93=D0=B0=D0=BB=D0=B8=D0=BD=D0=B0=20=D0=A4=D0=B5=D0=B4?= =?UTF-8?q?=D0=BE=D1=80=D0=B5=D0=BD=D0=BA=D0=BE?= Date: Fri, 10 May 2024 14:18:31 +0400 Subject: [PATCH] =?UTF-8?q?=D0=BC=D0=BE=D0=B4=D0=B5=D0=BB=D0=B8=20=D0=B8?= =?UTF-8?q?=20=D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=B0=D0=BA=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Storehouse/Storehouse.sln | 49 +++++++++++++++++++ .../StorehouseBusinessLogics.csproj | 9 ++++ .../BindingModels/ClientBindingModel.cs | 12 +++++ .../BindingModels/ProductBindingModel.cs | 13 +++++ .../BindingModels/ProviderBindingModel.cs | 12 +++++ .../BindingModels/SaleBindingModel.cs | 12 +++++ .../BindingModels/SupplyBindingModel.cs | 12 +++++ .../BusinessLogicsContracts/IClientLogic.cs | 15 ++++++ .../BusinessLogicsContracts/IProductLogic.cs | 15 ++++++ .../BusinessLogicsContracts/IProviderLogic.cs | 15 ++++++ .../BusinessLogicsContracts/ISaleLogic.cs | 15 ++++++ .../BusinessLogicsContracts/ISupplyLogic.cs | 15 ++++++ .../SearchModels/ClientSearchModel.cs | 10 ++++ .../SearchModels/ProductSearchModel.cs | 8 +++ .../SearchModels/ProviderSearchModel.cs | 10 ++++ .../SearchModels/SaleSearchModel.cs | 9 ++++ .../SearchModels/SupplySearchModel.cs | 9 ++++ .../StoragesContracts/IClientStorage.cs | 16 ++++++ .../StoragesContracts/IProductStorage.cs | 16 ++++++ .../StoragesContracts/IProviderStorage.cs | 16 ++++++ .../StoragesContracts/ISaleStorage.cs | 16 ++++++ .../StoragesContracts/ISupplyStorage.cs | 16 ++++++ .../StorehouseContracts.csproj | 13 +++++ .../ViewModels/ClientViewModel.cs | 16 ++++++ .../ViewModels/ProductViewModel.cs | 17 +++++++ .../ViewModels/ProviderViewModel.cs | 16 ++++++ .../ViewModels/SaleViewModel.cs | 18 +++++++ .../ViewModels/SupplyViewModel.cs | 18 +++++++ .../StorehouseDataModels/Enums/ProductType.cs | 15 ++++++ Storehouse/StorehouseDataModels/IId.cs | 7 +++ .../Models/IClientModel.cs | 9 ++++ .../Models/IProductModel.cs | 16 ++++++ .../Models/IProviderModel.cs | 9 ++++ .../StorehouseDataModels/Models/ISaleModel.cs | 9 ++++ .../Models/ISupplyModel.cs | 9 ++++ .../StorehouseDataModels.csproj | 9 ++++ .../StorehouseDatabase.csproj | 9 ++++ Storehouse/StorehouseView/Program.cs | 17 +++++++ .../StorehouseView/StorehouseView.csproj | 11 +++++ 39 files changed, 538 insertions(+) create mode 100644 Storehouse/Storehouse.sln create mode 100644 Storehouse/StorehouseBusinessLogics/StorehouseBusinessLogics.csproj create mode 100644 Storehouse/StorehouseContracts/BindingModels/ClientBindingModel.cs create mode 100644 Storehouse/StorehouseContracts/BindingModels/ProductBindingModel.cs create mode 100644 Storehouse/StorehouseContracts/BindingModels/ProviderBindingModel.cs create mode 100644 Storehouse/StorehouseContracts/BindingModels/SaleBindingModel.cs create mode 100644 Storehouse/StorehouseContracts/BindingModels/SupplyBindingModel.cs create mode 100644 Storehouse/StorehouseContracts/BusinessLogicsContracts/IClientLogic.cs create mode 100644 Storehouse/StorehouseContracts/BusinessLogicsContracts/IProductLogic.cs create mode 100644 Storehouse/StorehouseContracts/BusinessLogicsContracts/IProviderLogic.cs create mode 100644 Storehouse/StorehouseContracts/BusinessLogicsContracts/ISaleLogic.cs create mode 100644 Storehouse/StorehouseContracts/BusinessLogicsContracts/ISupplyLogic.cs create mode 100644 Storehouse/StorehouseContracts/SearchModels/ClientSearchModel.cs create mode 100644 Storehouse/StorehouseContracts/SearchModels/ProductSearchModel.cs create mode 100644 Storehouse/StorehouseContracts/SearchModels/ProviderSearchModel.cs create mode 100644 Storehouse/StorehouseContracts/SearchModels/SaleSearchModel.cs create mode 100644 Storehouse/StorehouseContracts/SearchModels/SupplySearchModel.cs create mode 100644 Storehouse/StorehouseContracts/StoragesContracts/IClientStorage.cs create mode 100644 Storehouse/StorehouseContracts/StoragesContracts/IProductStorage.cs create mode 100644 Storehouse/StorehouseContracts/StoragesContracts/IProviderStorage.cs create mode 100644 Storehouse/StorehouseContracts/StoragesContracts/ISaleStorage.cs create mode 100644 Storehouse/StorehouseContracts/StoragesContracts/ISupplyStorage.cs create mode 100644 Storehouse/StorehouseContracts/StorehouseContracts.csproj create mode 100644 Storehouse/StorehouseContracts/ViewModels/ClientViewModel.cs create mode 100644 Storehouse/StorehouseContracts/ViewModels/ProductViewModel.cs create mode 100644 Storehouse/StorehouseContracts/ViewModels/ProviderViewModel.cs create mode 100644 Storehouse/StorehouseContracts/ViewModels/SaleViewModel.cs create mode 100644 Storehouse/StorehouseContracts/ViewModels/SupplyViewModel.cs create mode 100644 Storehouse/StorehouseDataModels/Enums/ProductType.cs create mode 100644 Storehouse/StorehouseDataModels/IId.cs create mode 100644 Storehouse/StorehouseDataModels/Models/IClientModel.cs create mode 100644 Storehouse/StorehouseDataModels/Models/IProductModel.cs create mode 100644 Storehouse/StorehouseDataModels/Models/IProviderModel.cs create mode 100644 Storehouse/StorehouseDataModels/Models/ISaleModel.cs create mode 100644 Storehouse/StorehouseDataModels/Models/ISupplyModel.cs create mode 100644 Storehouse/StorehouseDataModels/StorehouseDataModels.csproj create mode 100644 Storehouse/StorehouseDatabase/StorehouseDatabase.csproj create mode 100644 Storehouse/StorehouseView/Program.cs create mode 100644 Storehouse/StorehouseView/StorehouseView.csproj diff --git a/Storehouse/Storehouse.sln b/Storehouse/Storehouse.sln new file mode 100644 index 0000000..9b368a0 --- /dev/null +++ b/Storehouse/Storehouse.sln @@ -0,0 +1,49 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.7.34024.191 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StorehouseView", "StorehouseView\StorehouseView.csproj", "{2A1C5191-CC20-4015-82E3-AEF00D33C09A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StorehouseDataModels", "StorehouseDataModels\StorehouseDataModels.csproj", "{B1D926C1-F37C-4530-A3C0-02EAC8113B3E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StorehouseContracts", "StorehouseContracts\StorehouseContracts.csproj", "{D5258E85-B904-4299-A07D-1F55B71DB0F8}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StorehouseBusinessLogics", "StorehouseBusinessLogics\StorehouseBusinessLogics.csproj", "{3F171169-DA8D-4CE6-B100-BDD3A4FEDA77}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StorehouseDatabase", "StorehouseDatabase\StorehouseDatabase.csproj", "{F2EA8A47-C7B6-4C2B-8AD0-0F3C0C24DF74}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {2A1C5191-CC20-4015-82E3-AEF00D33C09A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2A1C5191-CC20-4015-82E3-AEF00D33C09A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2A1C5191-CC20-4015-82E3-AEF00D33C09A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2A1C5191-CC20-4015-82E3-AEF00D33C09A}.Release|Any CPU.Build.0 = Release|Any CPU + {B1D926C1-F37C-4530-A3C0-02EAC8113B3E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B1D926C1-F37C-4530-A3C0-02EAC8113B3E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B1D926C1-F37C-4530-A3C0-02EAC8113B3E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B1D926C1-F37C-4530-A3C0-02EAC8113B3E}.Release|Any CPU.Build.0 = Release|Any CPU + {D5258E85-B904-4299-A07D-1F55B71DB0F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D5258E85-B904-4299-A07D-1F55B71DB0F8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D5258E85-B904-4299-A07D-1F55B71DB0F8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D5258E85-B904-4299-A07D-1F55B71DB0F8}.Release|Any CPU.Build.0 = Release|Any CPU + {3F171169-DA8D-4CE6-B100-BDD3A4FEDA77}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3F171169-DA8D-4CE6-B100-BDD3A4FEDA77}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3F171169-DA8D-4CE6-B100-BDD3A4FEDA77}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3F171169-DA8D-4CE6-B100-BDD3A4FEDA77}.Release|Any CPU.Build.0 = Release|Any CPU + {F2EA8A47-C7B6-4C2B-8AD0-0F3C0C24DF74}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F2EA8A47-C7B6-4C2B-8AD0-0F3C0C24DF74}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F2EA8A47-C7B6-4C2B-8AD0-0F3C0C24DF74}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F2EA8A47-C7B6-4C2B-8AD0-0F3C0C24DF74}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {1ED68645-6072-459C-B84E-8E3AD572EBFA} + EndGlobalSection +EndGlobal diff --git a/Storehouse/StorehouseBusinessLogics/StorehouseBusinessLogics.csproj b/Storehouse/StorehouseBusinessLogics/StorehouseBusinessLogics.csproj new file mode 100644 index 0000000..132c02c --- /dev/null +++ b/Storehouse/StorehouseBusinessLogics/StorehouseBusinessLogics.csproj @@ -0,0 +1,9 @@ + + + + net6.0 + enable + enable + + + diff --git a/Storehouse/StorehouseContracts/BindingModels/ClientBindingModel.cs b/Storehouse/StorehouseContracts/BindingModels/ClientBindingModel.cs new file mode 100644 index 0000000..75f41c6 --- /dev/null +++ b/Storehouse/StorehouseContracts/BindingModels/ClientBindingModel.cs @@ -0,0 +1,12 @@ +using StorehouseDataModels.Models; + +namespace StorehouseContracts.BindingModels +{ + public class ClientBindingModel : IClientModel + { + public int Id { get; set; } + public string ClientFIO { get; set; } = string.Empty; + public string Email { get; set; } = string.Empty; + public string Password { get; set; } = string.Empty; + } +} diff --git a/Storehouse/StorehouseContracts/BindingModels/ProductBindingModel.cs b/Storehouse/StorehouseContracts/BindingModels/ProductBindingModel.cs new file mode 100644 index 0000000..193b519 --- /dev/null +++ b/Storehouse/StorehouseContracts/BindingModels/ProductBindingModel.cs @@ -0,0 +1,13 @@ +using StorehouseDataModels.Enums; +using StorehouseDataModels.Models; + +namespace StorehouseContracts.BindingModels +{ + public class ProductBindingModel : IProductModel + { + public int Id { get; set; } + public string ProductName { get; set; } = string.Empty; + public int ProductNum { get; set; } + public ProductType ProductType { get; set; } + } +} diff --git a/Storehouse/StorehouseContracts/BindingModels/ProviderBindingModel.cs b/Storehouse/StorehouseContracts/BindingModels/ProviderBindingModel.cs new file mode 100644 index 0000000..c285b4c --- /dev/null +++ b/Storehouse/StorehouseContracts/BindingModels/ProviderBindingModel.cs @@ -0,0 +1,12 @@ +using StorehouseDataModels.Models; + +namespace StorehouseContracts.BindingModels +{ + public class ProviderBindingModel : IProviderModel + { + public int Id { get; set; } + public string ProviderFIO { get; set; } = string.Empty; + public string Email { get; set; } = string.Empty; + public string Password { get; set; } = string.Empty; + } +} diff --git a/Storehouse/StorehouseContracts/BindingModels/SaleBindingModel.cs b/Storehouse/StorehouseContracts/BindingModels/SaleBindingModel.cs new file mode 100644 index 0000000..83f040b --- /dev/null +++ b/Storehouse/StorehouseContracts/BindingModels/SaleBindingModel.cs @@ -0,0 +1,12 @@ +using StorehouseDataModels.Models; + +namespace StorehouseContracts.BindingModels +{ + public class SaleBindingModel : ISaleModel + { + public int Id { get; set; } + public int ClientId { get; set; } + public int ProductId { get; set; } + public int SaleNum { get; set; } + } +} diff --git a/Storehouse/StorehouseContracts/BindingModels/SupplyBindingModel.cs b/Storehouse/StorehouseContracts/BindingModels/SupplyBindingModel.cs new file mode 100644 index 0000000..d9a4e6f --- /dev/null +++ b/Storehouse/StorehouseContracts/BindingModels/SupplyBindingModel.cs @@ -0,0 +1,12 @@ +using StorehouseDataModels.Models; + +namespace StorehouseContracts.BindingModels +{ + public class SupplyBindingModel : ISupplyModel + { + public int Id { get; set; } + public int ProviderId { get; set; } + public int ProductId { get; set; } + public int SupplyNum { get; set; } + } +} diff --git a/Storehouse/StorehouseContracts/BusinessLogicsContracts/IClientLogic.cs b/Storehouse/StorehouseContracts/BusinessLogicsContracts/IClientLogic.cs new file mode 100644 index 0000000..d6d204a --- /dev/null +++ b/Storehouse/StorehouseContracts/BusinessLogicsContracts/IClientLogic.cs @@ -0,0 +1,15 @@ +using StorehouseContracts.BindingModels; +using StorehouseContracts.SearchModels; +using StorehouseContracts.ViewModels; + +namespace StorehouseContracts.BusinessLogicsContracts +{ + public interface IClientLogic + { + List? ReadList(ClientSearchModel? model); + ClientViewModel? ReadElement(ClientSearchModel model); + bool Create(ClientBindingModel model); + bool Update(ClientBindingModel model); + bool Delete(ClientBindingModel model); + } +} diff --git a/Storehouse/StorehouseContracts/BusinessLogicsContracts/IProductLogic.cs b/Storehouse/StorehouseContracts/BusinessLogicsContracts/IProductLogic.cs new file mode 100644 index 0000000..4e583b1 --- /dev/null +++ b/Storehouse/StorehouseContracts/BusinessLogicsContracts/IProductLogic.cs @@ -0,0 +1,15 @@ +using StorehouseContracts.BindingModels; +using StorehouseContracts.SearchModels; +using StorehouseContracts.ViewModels; + +namespace StorehouseContracts.BusinessLogicsContracts +{ + public interface IProductLogic + { + List? ReadList(ProductSearchModel? model); + ProductViewModel? ReadElement(ProductSearchModel model); + bool Create(ProductBindingModel model); + bool Update(ProductBindingModel model); + bool Delete(ProductBindingModel model); + } +} diff --git a/Storehouse/StorehouseContracts/BusinessLogicsContracts/IProviderLogic.cs b/Storehouse/StorehouseContracts/BusinessLogicsContracts/IProviderLogic.cs new file mode 100644 index 0000000..153a858 --- /dev/null +++ b/Storehouse/StorehouseContracts/BusinessLogicsContracts/IProviderLogic.cs @@ -0,0 +1,15 @@ +using StorehouseContracts.BindingModels; +using StorehouseContracts.SearchModels; +using StorehouseContracts.ViewModels; + +namespace StorehouseContracts.BusinessLogicsContracts +{ + public interface IProviderLogic + { + List? ReadList(ProviderSearchModel? model); + ProviderViewModel? ReadElement(ProviderSearchModel model); + bool Create(ProviderBindingModel model); + bool Update(ProviderBindingModel model); + bool Delete(ProviderBindingModel model); + } +} diff --git a/Storehouse/StorehouseContracts/BusinessLogicsContracts/ISaleLogic.cs b/Storehouse/StorehouseContracts/BusinessLogicsContracts/ISaleLogic.cs new file mode 100644 index 0000000..8ad9411 --- /dev/null +++ b/Storehouse/StorehouseContracts/BusinessLogicsContracts/ISaleLogic.cs @@ -0,0 +1,15 @@ +using StorehouseContracts.BindingModels; +using StorehouseContracts.SearchModels; +using StorehouseContracts.ViewModels; + +namespace StorehouseContracts.BusinessLogicsContracts +{ + public interface ISaleLogic + { + List? ReadList(SaleSearchModel? model); + SaleViewModel? ReadElement(SaleSearchModel model); + bool Create(SaleBindingModel model); + bool Update(SaleBindingModel model); + bool Delete(SaleBindingModel model); + } +} diff --git a/Storehouse/StorehouseContracts/BusinessLogicsContracts/ISupplyLogic.cs b/Storehouse/StorehouseContracts/BusinessLogicsContracts/ISupplyLogic.cs new file mode 100644 index 0000000..8850459 --- /dev/null +++ b/Storehouse/StorehouseContracts/BusinessLogicsContracts/ISupplyLogic.cs @@ -0,0 +1,15 @@ +using StorehouseContracts.BindingModels; +using StorehouseContracts.SearchModels; +using StorehouseContracts.ViewModels; + +namespace StorehouseContracts.BusinessLogicsContracts +{ + public interface ISupplyLogic + { + List? ReadList(SupplySearchModel? model); + SupplyViewModel? ReadElement(SupplySearchModel model); + bool Create(SupplyBindingModel model); + bool Update(SupplyBindingModel model); + bool Delete(SupplyBindingModel model); + } +} diff --git a/Storehouse/StorehouseContracts/SearchModels/ClientSearchModel.cs b/Storehouse/StorehouseContracts/SearchModels/ClientSearchModel.cs new file mode 100644 index 0000000..7b09192 --- /dev/null +++ b/Storehouse/StorehouseContracts/SearchModels/ClientSearchModel.cs @@ -0,0 +1,10 @@ +namespace StorehouseContracts.SearchModels +{ + public class ClientSearchModel + { + public int? Id { get; set; } + public string? ClientFIO { get; set; } + public string? Email { get; set; } + public string? Password { get; set; } + } +} diff --git a/Storehouse/StorehouseContracts/SearchModels/ProductSearchModel.cs b/Storehouse/StorehouseContracts/SearchModels/ProductSearchModel.cs new file mode 100644 index 0000000..f61829d --- /dev/null +++ b/Storehouse/StorehouseContracts/SearchModels/ProductSearchModel.cs @@ -0,0 +1,8 @@ +namespace StorehouseContracts.SearchModels +{ + public class ProductSearchModel + { + public int? Id { get; set; } + public string? ProductName { get; set; } + } +} diff --git a/Storehouse/StorehouseContracts/SearchModels/ProviderSearchModel.cs b/Storehouse/StorehouseContracts/SearchModels/ProviderSearchModel.cs new file mode 100644 index 0000000..02269b9 --- /dev/null +++ b/Storehouse/StorehouseContracts/SearchModels/ProviderSearchModel.cs @@ -0,0 +1,10 @@ +namespace StorehouseContracts.SearchModels +{ + public class ProviderSearchModel + { + public int? Id { get; set; } + public string? ProviderFIO { get; set; } + public string? Email { get; set; } + public string? Password { get; set; } + } +} diff --git a/Storehouse/StorehouseContracts/SearchModels/SaleSearchModel.cs b/Storehouse/StorehouseContracts/SearchModels/SaleSearchModel.cs new file mode 100644 index 0000000..84f8400 --- /dev/null +++ b/Storehouse/StorehouseContracts/SearchModels/SaleSearchModel.cs @@ -0,0 +1,9 @@ +namespace StorehouseContracts.SearchModels +{ + public class SaleSearchModel + { + public int? Id { get; set; } + public int? ClientId { get; set; } + public int? ProductId { get; set; } + } +} diff --git a/Storehouse/StorehouseContracts/SearchModels/SupplySearchModel.cs b/Storehouse/StorehouseContracts/SearchModels/SupplySearchModel.cs new file mode 100644 index 0000000..6f054ab --- /dev/null +++ b/Storehouse/StorehouseContracts/SearchModels/SupplySearchModel.cs @@ -0,0 +1,9 @@ +namespace StorehouseContracts.SearchModels +{ + public class SupplySearchModel + { + public int? Id { get; set; } + public int? ProviderId { get; set; } + public int? ProductId { get; set; } + } +} diff --git a/Storehouse/StorehouseContracts/StoragesContracts/IClientStorage.cs b/Storehouse/StorehouseContracts/StoragesContracts/IClientStorage.cs new file mode 100644 index 0000000..d7c5d59 --- /dev/null +++ b/Storehouse/StorehouseContracts/StoragesContracts/IClientStorage.cs @@ -0,0 +1,16 @@ +using StorehouseContracts.BindingModels; +using StorehouseContracts.SearchModels; +using StorehouseContracts.ViewModels; + +namespace StorehouseContracts.StoragesContracts +{ + public interface IClientStorage + { + List GetFullList(); + List GetFilteredList(ClientSearchModel model); + ClientViewModel? GetElement(ClientSearchModel model); + ClientViewModel? Insert(ClientBindingModel model); + ClientViewModel? Update(ClientBindingModel model); + ClientViewModel? Delete(ClientBindingModel model); + } +} diff --git a/Storehouse/StorehouseContracts/StoragesContracts/IProductStorage.cs b/Storehouse/StorehouseContracts/StoragesContracts/IProductStorage.cs new file mode 100644 index 0000000..6ac37d1 --- /dev/null +++ b/Storehouse/StorehouseContracts/StoragesContracts/IProductStorage.cs @@ -0,0 +1,16 @@ +using StorehouseContracts.BindingModels; +using StorehouseContracts.SearchModels; +using StorehouseContracts.ViewModels; + +namespace StorehouseContracts.StoragesContracts +{ + public interface IProductStorage + { + List GetFullList(); + List GetFilteredList(ProductSearchModel model); + ProductViewModel? GetElement(ProductSearchModel model); + ProductViewModel? Insert(ProductBindingModel model); + ProductViewModel? Update(ProductBindingModel model); + ProductViewModel? Delete(ProductBindingModel model); + } +} diff --git a/Storehouse/StorehouseContracts/StoragesContracts/IProviderStorage.cs b/Storehouse/StorehouseContracts/StoragesContracts/IProviderStorage.cs new file mode 100644 index 0000000..52d770f --- /dev/null +++ b/Storehouse/StorehouseContracts/StoragesContracts/IProviderStorage.cs @@ -0,0 +1,16 @@ +using StorehouseContracts.BindingModels; +using StorehouseContracts.SearchModels; +using StorehouseContracts.ViewModels; + +namespace StorehouseContracts.StoragesContracts +{ + public interface IProviderStorage + { + List GetFullList(); + List GetFilteredList(ProviderSearchModel model); + ProviderViewModel? GetElement(ProviderSearchModel model); + ProviderViewModel? Insert(ProviderBindingModel model); + ProviderViewModel? Update(ProviderBindingModel model); + ProviderViewModel? Delete(ProviderBindingModel model); + } +} diff --git a/Storehouse/StorehouseContracts/StoragesContracts/ISaleStorage.cs b/Storehouse/StorehouseContracts/StoragesContracts/ISaleStorage.cs new file mode 100644 index 0000000..307e519 --- /dev/null +++ b/Storehouse/StorehouseContracts/StoragesContracts/ISaleStorage.cs @@ -0,0 +1,16 @@ +using StorehouseContracts.BindingModels; +using StorehouseContracts.SearchModels; +using StorehouseContracts.ViewModels; + +namespace StorehouseContracts.StoragesContracts +{ + public interface ISaleStorage + { + List GetFullList(); + List GetFilteredList(SaleSearchModel model); + SaleViewModel? GetElement(SaleSearchModel model); + SaleViewModel? Insert(SaleBindingModel model); + SaleViewModel? Update(SaleBindingModel model); + SaleViewModel? Delete(SaleBindingModel model); + } +} diff --git a/Storehouse/StorehouseContracts/StoragesContracts/ISupplyStorage.cs b/Storehouse/StorehouseContracts/StoragesContracts/ISupplyStorage.cs new file mode 100644 index 0000000..b268221 --- /dev/null +++ b/Storehouse/StorehouseContracts/StoragesContracts/ISupplyStorage.cs @@ -0,0 +1,16 @@ +using StorehouseContracts.BindingModels; +using StorehouseContracts.SearchModels; +using StorehouseContracts.ViewModels; + +namespace StorehouseContracts.StoragesContracts +{ + public interface ISupplyStorage + { + List GetFullList(); + List GetFilteredList(SupplySearchModel model); + SupplyViewModel? GetElement(SupplySearchModel model); + SupplyViewModel? Insert(SupplyBindingModel model); + SupplyViewModel? Update(SupplyBindingModel model); + SupplyViewModel? Delete(SupplyBindingModel model); + } +} diff --git a/Storehouse/StorehouseContracts/StorehouseContracts.csproj b/Storehouse/StorehouseContracts/StorehouseContracts.csproj new file mode 100644 index 0000000..972e32a --- /dev/null +++ b/Storehouse/StorehouseContracts/StorehouseContracts.csproj @@ -0,0 +1,13 @@ + + + + net6.0 + enable + enable + + + + + + + diff --git a/Storehouse/StorehouseContracts/ViewModels/ClientViewModel.cs b/Storehouse/StorehouseContracts/ViewModels/ClientViewModel.cs new file mode 100644 index 0000000..0248b5e --- /dev/null +++ b/Storehouse/StorehouseContracts/ViewModels/ClientViewModel.cs @@ -0,0 +1,16 @@ +using StorehouseDataModels.Models; +using System.ComponentModel; + +namespace StorehouseContracts.ViewModels +{ + public class ClientViewModel : IClientModel + { + public int Id { get; set; } + [DisplayName("Client's FIO")] + public string ClientFIO { get; set; } = string.Empty; + [DisplayName("Login (Email)")] + public string Email { get; set; } = string.Empty; + [DisplayName("Password")] + public string Password { get; set; } = string.Empty; + } +} diff --git a/Storehouse/StorehouseContracts/ViewModels/ProductViewModel.cs b/Storehouse/StorehouseContracts/ViewModels/ProductViewModel.cs new file mode 100644 index 0000000..764d98f --- /dev/null +++ b/Storehouse/StorehouseContracts/ViewModels/ProductViewModel.cs @@ -0,0 +1,17 @@ +using StorehouseDataModels.Enums; +using StorehouseDataModels.Models; +using System.ComponentModel; + +namespace StorehouseContracts.ViewModels +{ + public class ProductViewModel : IProductModel + { + public int Id { get; set; } + [DisplayName("Product Name")] + public string ProductName { get; set; } = string.Empty; + [DisplayName("Type Product")] + public ProductType ProductType { get; set; } + [DisplayName("Num")] + public int ProductNum { get; set; } + } +} diff --git a/Storehouse/StorehouseContracts/ViewModels/ProviderViewModel.cs b/Storehouse/StorehouseContracts/ViewModels/ProviderViewModel.cs new file mode 100644 index 0000000..2bf8262 --- /dev/null +++ b/Storehouse/StorehouseContracts/ViewModels/ProviderViewModel.cs @@ -0,0 +1,16 @@ +using StorehouseDataModels.Models; +using System.ComponentModel; + +namespace StorehouseContracts.ViewModels +{ + public class ProviderViewModel : IProviderModel + { + public int Id { get; set; } + [DisplayName("Provider's FIO")] + public string ProviderFIO { get; set; } = string.Empty; + [DisplayName("Login (Email)")] + public string Email { get; set; } = string.Empty; + [DisplayName("Password")] + public string Password { get; set; } = string.Empty; + } +} diff --git a/Storehouse/StorehouseContracts/ViewModels/SaleViewModel.cs b/Storehouse/StorehouseContracts/ViewModels/SaleViewModel.cs new file mode 100644 index 0000000..9f91824 --- /dev/null +++ b/Storehouse/StorehouseContracts/ViewModels/SaleViewModel.cs @@ -0,0 +1,18 @@ +using StorehouseDataModels.Models; +using System.ComponentModel; + +namespace StorehouseContracts.ViewModels +{ + public class SaleViewModel : ISaleModel + { + public int Id { get; set; } + public int ClientId { get; set; } + [DisplayName("Client")] + public string ClientFIO { get; set; } = string.Empty; + public int ProductId { get; set; } + [DisplayName("Product")] + public string ProductName { get; set; } = string.Empty; + [DisplayName("Num")] + public int SaleNum { get; set; } + } +} diff --git a/Storehouse/StorehouseContracts/ViewModels/SupplyViewModel.cs b/Storehouse/StorehouseContracts/ViewModels/SupplyViewModel.cs new file mode 100644 index 0000000..35de8d2 --- /dev/null +++ b/Storehouse/StorehouseContracts/ViewModels/SupplyViewModel.cs @@ -0,0 +1,18 @@ +using StorehouseDataModels.Models; +using System.ComponentModel; + +namespace StorehouseContracts.ViewModels +{ + public class SupplyViewModel : ISupplyModel + { + public int Id { get; set; } + public int ProviderId { get; set; } + [DisplayName("Provider")] + public string ProviderFIO { get; set; } = string.Empty; + public int ProductId { get; set; } + [DisplayName("Product")] + public string ProductName { get; set; } = string.Empty; + [DisplayName("Num")] + public int SupplyNum { get; set; } + } +} diff --git a/Storehouse/StorehouseDataModels/Enums/ProductType.cs b/Storehouse/StorehouseDataModels/Enums/ProductType.cs new file mode 100644 index 0000000..031eb6b --- /dev/null +++ b/Storehouse/StorehouseDataModels/Enums/ProductType.cs @@ -0,0 +1,15 @@ +namespace StorehouseDataModels.Enums +{ + public enum ProductType + { + Неизвестен = -1, + + Одежда = 0, + + Обувь = 1, + + Техника = 2, + + Гигиена = 3 + } +} diff --git a/Storehouse/StorehouseDataModels/IId.cs b/Storehouse/StorehouseDataModels/IId.cs new file mode 100644 index 0000000..3005945 --- /dev/null +++ b/Storehouse/StorehouseDataModels/IId.cs @@ -0,0 +1,7 @@ +namespace StorehouseDataModels +{ + public interface IId + { + int Id { get; } + } +} diff --git a/Storehouse/StorehouseDataModels/Models/IClientModel.cs b/Storehouse/StorehouseDataModels/Models/IClientModel.cs new file mode 100644 index 0000000..6f626d8 --- /dev/null +++ b/Storehouse/StorehouseDataModels/Models/IClientModel.cs @@ -0,0 +1,9 @@ +namespace StorehouseDataModels.Models +{ + public interface IClientModel : IId + { + string ClientFIO { get; } + string Email { get; } + string Password { get; } + } +} diff --git a/Storehouse/StorehouseDataModels/Models/IProductModel.cs b/Storehouse/StorehouseDataModels/Models/IProductModel.cs new file mode 100644 index 0000000..24193ec --- /dev/null +++ b/Storehouse/StorehouseDataModels/Models/IProductModel.cs @@ -0,0 +1,16 @@ +using StorehouseDataModels.Enums; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace StorehouseDataModels.Models +{ + public interface IProductModel : IId + { + string ProductName { get; } + int ProductNum { get; } + ProductType ProductType { get; } + } +} diff --git a/Storehouse/StorehouseDataModels/Models/IProviderModel.cs b/Storehouse/StorehouseDataModels/Models/IProviderModel.cs new file mode 100644 index 0000000..1749929 --- /dev/null +++ b/Storehouse/StorehouseDataModels/Models/IProviderModel.cs @@ -0,0 +1,9 @@ +namespace StorehouseDataModels.Models +{ + public interface IProviderModel : IId + { + string ProviderFIO { get; } + string Email { get; } + string Password { get; } + } +} diff --git a/Storehouse/StorehouseDataModels/Models/ISaleModel.cs b/Storehouse/StorehouseDataModels/Models/ISaleModel.cs new file mode 100644 index 0000000..126afb1 --- /dev/null +++ b/Storehouse/StorehouseDataModels/Models/ISaleModel.cs @@ -0,0 +1,9 @@ +namespace StorehouseDataModels.Models +{ + public interface ISaleModel : IId + { + int ClientId { get; set; } + int ProductId { get; set; } + int SaleNum { get; set; } + } +} diff --git a/Storehouse/StorehouseDataModels/Models/ISupplyModel.cs b/Storehouse/StorehouseDataModels/Models/ISupplyModel.cs new file mode 100644 index 0000000..7044eec --- /dev/null +++ b/Storehouse/StorehouseDataModels/Models/ISupplyModel.cs @@ -0,0 +1,9 @@ +namespace StorehouseDataModels.Models +{ + public interface ISupplyModel : IId + { + int ProviderId { get; set; } + int ProductId { get; set; } + int SupplyNum { get; set; } + } +} diff --git a/Storehouse/StorehouseDataModels/StorehouseDataModels.csproj b/Storehouse/StorehouseDataModels/StorehouseDataModels.csproj new file mode 100644 index 0000000..132c02c --- /dev/null +++ b/Storehouse/StorehouseDataModels/StorehouseDataModels.csproj @@ -0,0 +1,9 @@ + + + + net6.0 + enable + enable + + + diff --git a/Storehouse/StorehouseDatabase/StorehouseDatabase.csproj b/Storehouse/StorehouseDatabase/StorehouseDatabase.csproj new file mode 100644 index 0000000..132c02c --- /dev/null +++ b/Storehouse/StorehouseDatabase/StorehouseDatabase.csproj @@ -0,0 +1,9 @@ + + + + net6.0 + enable + enable + + + diff --git a/Storehouse/StorehouseView/Program.cs b/Storehouse/StorehouseView/Program.cs new file mode 100644 index 0000000..469d74e --- /dev/null +++ b/Storehouse/StorehouseView/Program.cs @@ -0,0 +1,17 @@ +namespace StorehouseView +{ + internal static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + // To customize application configuration such as set high DPI settings or default font, + // see https://aka.ms/applicationconfiguration. + ApplicationConfiguration.Initialize(); + Application.Run(new Form1()); + } + } +} \ No newline at end of file diff --git a/Storehouse/StorehouseView/StorehouseView.csproj b/Storehouse/StorehouseView/StorehouseView.csproj new file mode 100644 index 0000000..b57c89e --- /dev/null +++ b/Storehouse/StorehouseView/StorehouseView.csproj @@ -0,0 +1,11 @@ + + + + WinExe + net6.0-windows + enable + true + enable + + + \ No newline at end of file