From dfe49b519da06640201541a01668b9647bc7cc79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=98=D0=B3=D0=BE=D1=80=D1=8C=20=D0=93=D0=BE=D1=80=D0=B4?= =?UTF-8?q?=D0=B5=D0=B5=D0=B2?= <89176335310x@gmail.com> Date: Sat, 18 May 2024 21:35:37 +0400 Subject: [PATCH] =?UTF-8?q?=D0=AF=20=D1=83=D1=81=D1=82=D0=B0=D0=BB=20?= =?UTF-8?q?=D0=B1=D0=BE=D1=81=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SushiBarContracts.dll | Bin 0 -> 31744 bytes .../SushiBarDataModels.dll | Bin 0 -> 6144 bytes .../SushiBarDatabaseImplement.dll | Bin 0 -> 74752 bytes .../SushiBarFileImplement.dll | Bin 0 -> 38912 bytes .../SushiBarListImplement.dll | Bin 0 -> 24576 bytes SushiBar/SushiBar/DataGridViewExtension.cs | 46 +++++++ SushiBar/SushiBar/FormClients.cs | 8 +- SushiBar/SushiBar/FormImplementers.cs | 30 ++--- SushiBar/SushiBar/FormIngredients.cs | 21 ++-- SushiBar/SushiBar/FormListSushi.cs | 21 ++-- SushiBar/SushiBar/FormMain.Designer.cs | 33 +++-- SushiBar/SushiBar/FormMain.cs | 107 ++++++++-------- SushiBar/SushiBar/FormSushi.cs | 38 +++--- SushiBar/SushiBar/Program.cs | 119 +++++++++--------- .../BusinessLogics/BackUpLogic.cs | 103 +++++++++++++++ .../Attributes/ColumnAttribute.cs | 31 +++++ .../Attributes/GridViewAutoSize.cs | 27 ++++ .../BindingModels/BackUpSaveBindingModel.cs | 13 ++ .../BindingModels/MessageInfoBindingModel.cs | 5 +- .../BusinessLogicsContracts/IBackUpLogic.cs | 14 +++ .../SushiBarContracts/DI/DependencyManager.cs | 41 ++++++ .../DI/IDependencyContainer.cs | 20 +++ .../DI/IImplementationExtension.cs | 14 +++ .../DI/ServiceDependencyContainer.cs | 62 +++++++++ .../DI/ServiceProviderLoader.cs | 51 ++++++++ .../DI/UnityDependencyContainer.cs | 43 +++++++ .../StoragesContracts/IBackUpInfo.cs | 14 +++ .../SushiBarContracts.csproj | 6 + .../ViewModels/ClientViewModel.cs | 14 +-- .../ViewModels/ImplementerViewModel.cs | 12 +- .../ViewModels/IngredientViewModel.cs | 8 +- .../ViewModels/MessageInfoViewModel.cs | 30 +++-- .../ViewModels/OrderViewModel.cs | 25 ++-- .../ViewModels/SushiViewModel.cs | 9 +- .../Models/IMessageInfoModel.cs | 7 +- .../DataBaseImplementationExtension.cs | 30 +++++ .../Models/BackUpInfo.cs | 31 +++++ .../Models/Client.cs | 8 ++ .../Models/Implementer.cs | 7 ++ .../Models/Ingredient.cs | 5 + .../Models/MessageInfo.cs | 7 +- .../SushiBarDatabaseImplement/Models/Order.cs | 17 ++- .../SushiBarDatabaseImplement/Models/Sushi.cs | 6 + .../SushiBarDatabaseImplement.csproj | 6 +- .../DataFileSingleton.cs | 2 + .../FileImplementationExtension.cs | 28 +++++ .../Implements/BackUpInfo.cs | 34 +++++ .../Implements/ClientStorage.cs | 3 +- .../Implements/MessageInfoStorage.cs | 58 +++++++++ .../SushiBarFileImplement/Models/Client.cs | 10 +- .../Models/Implementer.cs | 11 +- .../Models/Ingredient.cs | 5 + .../Models/MessageInfo.cs | 84 +++++++++++++ .../SushiBarFileImplement/Models/Order.cs | 13 +- .../SushiBarFileImplement/Models/Sushi.cs | 7 +- .../SushiBarFileImplement.csproj | 4 + .../DataListSingleton.cs | 2 + .../Implements/BackUpInfo.cs | 22 ++++ .../Implements/ClientStorage.cs | 3 +- .../Implements/MessageInfoStorage.cs | 63 ++++++++++ .../ListImplementationExtension.cs | 26 ++++ .../SushiBarListImplement/Models/Client.cs | 5 + .../Models/Implementer.cs | 11 +- .../Models/MessageInfo.cs | 52 ++++++++ .../SushiBarListImplement.csproj | 4 + 65 files changed, 1264 insertions(+), 272 deletions(-) create mode 100644 SushiBar/ImplementationExtensions/SushiBarContracts.dll create mode 100644 SushiBar/ImplementationExtensions/SushiBarDataModels.dll create mode 100644 SushiBar/ImplementationExtensions/SushiBarDatabaseImplement.dll create mode 100644 SushiBar/ImplementationExtensions/SushiBarFileImplement.dll create mode 100644 SushiBar/ImplementationExtensions/SushiBarListImplement.dll create mode 100644 SushiBar/SushiBar/DataGridViewExtension.cs create mode 100644 SushiBar/SushiBarBusinessLogic/BusinessLogics/BackUpLogic.cs create mode 100644 SushiBar/SushiBarContracts/Attributes/ColumnAttribute.cs create mode 100644 SushiBar/SushiBarContracts/Attributes/GridViewAutoSize.cs create mode 100644 SushiBar/SushiBarContracts/BindingModels/BackUpSaveBindingModel.cs create mode 100644 SushiBar/SushiBarContracts/BusinessLogicsContracts/IBackUpLogic.cs create mode 100644 SushiBar/SushiBarContracts/DI/DependencyManager.cs create mode 100644 SushiBar/SushiBarContracts/DI/IDependencyContainer.cs create mode 100644 SushiBar/SushiBarContracts/DI/IImplementationExtension.cs create mode 100644 SushiBar/SushiBarContracts/DI/ServiceDependencyContainer.cs create mode 100644 SushiBar/SushiBarContracts/DI/ServiceProviderLoader.cs create mode 100644 SushiBar/SushiBarContracts/DI/UnityDependencyContainer.cs create mode 100644 SushiBar/SushiBarContracts/StoragesContracts/IBackUpInfo.cs create mode 100644 SushiBar/SushiBarDatabaseImplement/DataBaseImplementationExtension.cs create mode 100644 SushiBar/SushiBarDatabaseImplement/Models/BackUpInfo.cs create mode 100644 SushiBar/SushiBarFileImplement/FileImplementationExtension.cs create mode 100644 SushiBar/SushiBarFileImplement/Implements/BackUpInfo.cs create mode 100644 SushiBar/SushiBarFileImplement/Implements/MessageInfoStorage.cs create mode 100644 SushiBar/SushiBarFileImplement/Models/MessageInfo.cs create mode 100644 SushiBar/SushiBarListImplement/Implements/BackUpInfo.cs create mode 100644 SushiBar/SushiBarListImplement/Implements/MessageInfoStorage.cs create mode 100644 SushiBar/SushiBarListImplement/ListImplementationExtension.cs create mode 100644 SushiBar/SushiBarListImplement/Models/MessageInfo.cs diff --git a/SushiBar/ImplementationExtensions/SushiBarContracts.dll b/SushiBar/ImplementationExtensions/SushiBarContracts.dll new file mode 100644 index 0000000000000000000000000000000000000000..248121a3d2d6a15ec63d858f99adb2d72e5351ac GIT binary patch literal 31744 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 FKLEecyx#x- literal 0 HcmV?d00001 diff --git a/SushiBar/ImplementationExtensions/SushiBarDataModels.dll b/SushiBar/ImplementationExtensions/SushiBarDataModels.dll new file mode 100644 index 0000000000000000000000000000000000000000..6242a3ea350615ecbf8ad0ce03959e5f12b6e90a GIT binary patch literal 6144 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 DrA5~f literal 0 HcmV?d00001 diff --git a/SushiBar/ImplementationExtensions/SushiBarDatabaseImplement.dll b/SushiBar/ImplementationExtensions/SushiBarDatabaseImplement.dll new file mode 100644 index 0000000000000000000000000000000000000000..2d7d96e74187c4aecb26326afc55c41495b26fed GIT binary patch literal 74752 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