From cc2fa54e350b13a7de9dd91203bf32678987765e Mon Sep 17 00:00:00 2001 From: bocchanskyy Date: Mon, 11 Nov 2024 18:19:40 +0400 Subject: [PATCH] I don't want to go like this At least let me clean my room I don't want to leave like this 'Cause the last thing I want to do is Make my people make decisions Wondering what to do, oh Should they keep it on display Or redecorate? (just started working on lab4) --- .../FormMain.Designer.cs | 39 ++++++ .../InternetShopOrdersAppPlugins/FormMain.cs | 20 +++ .../FormMain.resx | 120 ++++++++++++++++++ .../InternetShopOrdersAppPlugins.csproj | 15 +++ .../InternetShopOrdersAppPlugins/Program.cs | 17 +++ .../IPluginsConvention.cs | 58 +++++++++ .../PluginsConventionElement.cs | 13 ++ .../PluginsConventionLibrary.csproj | 10 ++ .../PluginsConventionSaveDocument.cs | 13 ++ VolkovLabs/VolkovLabs.sln | 14 +- 10 files changed, 318 insertions(+), 1 deletion(-) create mode 100644 VolkovLabs/InternetShopOrdersAppPlugins/FormMain.Designer.cs create mode 100644 VolkovLabs/InternetShopOrdersAppPlugins/FormMain.cs create mode 100644 VolkovLabs/InternetShopOrdersAppPlugins/FormMain.resx create mode 100644 VolkovLabs/InternetShopOrdersAppPlugins/InternetShopOrdersAppPlugins.csproj create mode 100644 VolkovLabs/InternetShopOrdersAppPlugins/Program.cs create mode 100644 VolkovLabs/PluginsConventionLibrary/IPluginsConvention.cs create mode 100644 VolkovLabs/PluginsConventionLibrary/PluginsConventionElement.cs create mode 100644 VolkovLabs/PluginsConventionLibrary/PluginsConventionLibrary.csproj create mode 100644 VolkovLabs/PluginsConventionLibrary/PluginsConventionSaveDocument.cs diff --git a/VolkovLabs/InternetShopOrdersAppPlugins/FormMain.Designer.cs b/VolkovLabs/InternetShopOrdersAppPlugins/FormMain.Designer.cs new file mode 100644 index 0000000..be5aded --- /dev/null +++ b/VolkovLabs/InternetShopOrdersAppPlugins/FormMain.Designer.cs @@ -0,0 +1,39 @@ +namespace InternetShopOrdersAppPlugins +{ + partial class FormMain + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(800, 450); + this.Text = "FormMain"; + } + + #endregion + } +} \ No newline at end of file diff --git a/VolkovLabs/InternetShopOrdersAppPlugins/FormMain.cs b/VolkovLabs/InternetShopOrdersAppPlugins/FormMain.cs new file mode 100644 index 0000000..1f26c46 --- /dev/null +++ b/VolkovLabs/InternetShopOrdersAppPlugins/FormMain.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace InternetShopOrdersAppPlugins +{ + public partial class FormMain : Form + { + public FormMain() + { + InitializeComponent(); + } + } +} diff --git a/VolkovLabs/InternetShopOrdersAppPlugins/FormMain.resx b/VolkovLabs/InternetShopOrdersAppPlugins/FormMain.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/VolkovLabs/InternetShopOrdersAppPlugins/FormMain.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/VolkovLabs/InternetShopOrdersAppPlugins/InternetShopOrdersAppPlugins.csproj b/VolkovLabs/InternetShopOrdersAppPlugins/InternetShopOrdersAppPlugins.csproj new file mode 100644 index 0000000..c8fa3d5 --- /dev/null +++ b/VolkovLabs/InternetShopOrdersAppPlugins/InternetShopOrdersAppPlugins.csproj @@ -0,0 +1,15 @@ + + + + WinExe + net8.0-windows + enable + true + enable + + + + + + + \ No newline at end of file diff --git a/VolkovLabs/InternetShopOrdersAppPlugins/Program.cs b/VolkovLabs/InternetShopOrdersAppPlugins/Program.cs new file mode 100644 index 0000000..3c38c7d --- /dev/null +++ b/VolkovLabs/InternetShopOrdersAppPlugins/Program.cs @@ -0,0 +1,17 @@ +namespace InternetShopOrdersAppPlugins +{ + 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 FormMain()); + } + } +} \ No newline at end of file diff --git a/VolkovLabs/PluginsConventionLibrary/IPluginsConvention.cs b/VolkovLabs/PluginsConventionLibrary/IPluginsConvention.cs new file mode 100644 index 0000000..4230487 --- /dev/null +++ b/VolkovLabs/PluginsConventionLibrary/IPluginsConvention.cs @@ -0,0 +1,58 @@ +namespace PluginsConventionLibrary +{ + public interface IPluginsConvention + { + /// + /// Название плагина + /// + string PluginName { get; } + /// + /// Получение контрола для вывода набора данных + /// + UserControl GetControl { get; } + /// + /// Получение элемента, выбранного в контроле + /// + PluginsConventionElement GetElement { get; } + /// + /// Получение формы для создания/редактирования объекта + /// + /// + /// + Form GetForm(PluginsConventionElement element); + /// + /// Получение формы для работы со справочником + /// + /// + Form GetThesaurus(); + /// + /// Удаление элемента + /// + /// + /// + bool DeleteElement(PluginsConventionElement element); + /// + /// Обновление набора данных в контроле + /// + void ReloadData(); + /// + /// Создание простого документа + /// + /// + /// + bool CreateSimpleDocument(PluginsConventionSaveDocument + saveDocument); + /// + /// Создание простого документа + /// + /// + /// + bool CreateTableDocument(PluginsConventionSaveDocument saveDocument); + /// + /// Создание документа с диаграммой + /// + /// + /// + bool CreateChartDocument(PluginsConventionSaveDocument saveDocument); + } +} diff --git a/VolkovLabs/PluginsConventionLibrary/PluginsConventionElement.cs b/VolkovLabs/PluginsConventionLibrary/PluginsConventionElement.cs new file mode 100644 index 0000000..775c74a --- /dev/null +++ b/VolkovLabs/PluginsConventionLibrary/PluginsConventionElement.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace PluginsConventionLibrary +{ + public class PluginsConventionElement + { + public Guid Id { get; set; } + } +} diff --git a/VolkovLabs/PluginsConventionLibrary/PluginsConventionLibrary.csproj b/VolkovLabs/PluginsConventionLibrary/PluginsConventionLibrary.csproj new file mode 100644 index 0000000..3e210aa --- /dev/null +++ b/VolkovLabs/PluginsConventionLibrary/PluginsConventionLibrary.csproj @@ -0,0 +1,10 @@ + + + + net8.0-windows + enable + true + enable + + + diff --git a/VolkovLabs/PluginsConventionLibrary/PluginsConventionSaveDocument.cs b/VolkovLabs/PluginsConventionLibrary/PluginsConventionSaveDocument.cs new file mode 100644 index 0000000..f902bc6 --- /dev/null +++ b/VolkovLabs/PluginsConventionLibrary/PluginsConventionSaveDocument.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace PluginsConventionLibrary +{ + public class PluginsConventionSaveDocument + { + public string FileName { get; set; } + } +} diff --git a/VolkovLabs/VolkovLabs.sln b/VolkovLabs/VolkovLabs.sln index c6e6d49..ee8df05 100644 --- a/VolkovLabs/VolkovLabs.sln +++ b/VolkovLabs/VolkovLabs.sln @@ -15,7 +15,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "InternetShopOrdersDatabaseI EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "InternetShopDataModels", "InternetShopDataModels\InternetShopDataModels.csproj", "{1CEB87FB-BA72-491C-9125-0B3527EF612E}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InternetShopOrdersApp", "InternetShopOrdersApp\InternetShopOrdersApp.csproj", "{13A6EC26-C739-4891-964C-4A0E5E8D43C3}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "InternetShopOrdersApp", "InternetShopOrdersApp\InternetShopOrdersApp.csproj", "{13A6EC26-C739-4891-964C-4A0E5E8D43C3}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "InternetShopOrdersAppPlugins", "InternetShopOrdersAppPlugins\InternetShopOrdersAppPlugins.csproj", "{765C2C20-1415-4D42-8053-4914D7AD4E75}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PluginsConventionLibrary", "PluginsConventionLibrary\PluginsConventionLibrary.csproj", "{B0E17F90-929D-4AA7-8FA5-5F5E037140BE}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -51,6 +55,14 @@ Global {13A6EC26-C739-4891-964C-4A0E5E8D43C3}.Debug|Any CPU.Build.0 = Debug|Any CPU {13A6EC26-C739-4891-964C-4A0E5E8D43C3}.Release|Any CPU.ActiveCfg = Release|Any CPU {13A6EC26-C739-4891-964C-4A0E5E8D43C3}.Release|Any CPU.Build.0 = Release|Any CPU + {765C2C20-1415-4D42-8053-4914D7AD4E75}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {765C2C20-1415-4D42-8053-4914D7AD4E75}.Debug|Any CPU.Build.0 = Debug|Any CPU + {765C2C20-1415-4D42-8053-4914D7AD4E75}.Release|Any CPU.ActiveCfg = Release|Any CPU + {765C2C20-1415-4D42-8053-4914D7AD4E75}.Release|Any CPU.Build.0 = Release|Any CPU + {B0E17F90-929D-4AA7-8FA5-5F5E037140BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B0E17F90-929D-4AA7-8FA5-5F5E037140BE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B0E17F90-929D-4AA7-8FA5-5F5E037140BE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B0E17F90-929D-4AA7-8FA5-5F5E037140BE}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE