From 4fd4259f69d409bf7f06bd61cfa3ae588d6ed12e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9D=D0=B8=D0=BA=D0=B8=D1=82=D0=B0=20=D0=9F=D0=BE=D1=82?= =?UTF-8?q?=D0=B0=D0=BF=D0=BE=D0=B2?= <ns.potapov@yandex.ru> Date: Sun, 15 Dec 2024 00:15:02 +0400 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=BE=D0=B7=D0=B4=D0=B0=D0=BB=20=D0=BA?= =?UTF-8?q?=D0=BB=D0=B0=D1=81=D1=81=D1=8B=20=D0=B4=D0=BB=D1=8F=20=D1=80?= =?UTF-8?q?=D0=B0=D0=B1=D0=BE=D1=82=D1=8B=20=D0=BF=D0=BB=D0=B0=D0=B3=D0=B8?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PluginConventions/IPluginsConvention.cs | 57 +++++++++++++++++++ .../PluginConventions.csproj | 3 +- .../PluginsConventionElement.cs | 7 +++ .../PluginsConventionSaveDocument.cs | 7 +++ 4 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 InternetShop/PluginConventions/IPluginsConvention.cs create mode 100644 InternetShop/PluginConventions/PluginsConventionElement.cs create mode 100644 InternetShop/PluginConventions/PluginsConventionSaveDocument.cs diff --git a/InternetShop/PluginConventions/IPluginsConvention.cs b/InternetShop/PluginConventions/IPluginsConvention.cs new file mode 100644 index 0000000..dc231e8 --- /dev/null +++ b/InternetShop/PluginConventions/IPluginsConvention.cs @@ -0,0 +1,57 @@ +namespace PluginConventions +{ + public interface IPluginsConvention + { + /// <summary> + /// Название плагина + /// </summary> + string PluginName { get; } + /// <summary> + /// Получение контрола для вывода набора данных + /// </summary> + UserControl GetControl { get; } + /// <summary> + /// Получение элемента, выбранного в контроле + /// </summary> + PluginsConventionElement GetElement { get; } + /// <summary> + /// Получение формы для создания/редактирования объекта + /// </summary> + /// <param name="element"></param> + /// <returns></returns> + Form GetForm(PluginsConventionElement element); + /// <summary> + /// Получение формы для работы со справочником + /// </summary> + /// <returns></returns> + Form GetThesaurus(); + /// <summary> + /// Удаление элемента + /// /// </summary> + /// <param name="element"></param> + /// <returns></returns> + bool DeleteElement(PluginsConventionElement element); + /// <summary> + /// Обновление набора данных в контроле + /// </summary> + void ReloadData(); + /// <summary> + /// Создание простого документа + /// </summary> + /// <param name="saveDocument"></param> + /// <returns></returns> + bool CreateSimpleDocument(PluginsConventionSaveDocument saveDocument); + /// <summary> + /// Создание простого документа + /// </summary> + /// <param name="saveDocument"></param> + /// <returns></returns> + bool CreateTableDocument(PluginsConventionSaveDocument saveDocument); + /// <summary> + /// Создание документа с диаграммой + /// </summary> + /// <param name="saveDocument"></param> + /// <returns></returns> + bool CreateChartDocument(PluginsConventionSaveDocument saveDocument); + } +} diff --git a/InternetShop/PluginConventions/PluginConventions.csproj b/InternetShop/PluginConventions/PluginConventions.csproj index fa71b7a..9b28a9e 100644 --- a/InternetShop/PluginConventions/PluginConventions.csproj +++ b/InternetShop/PluginConventions/PluginConventions.csproj @@ -1,9 +1,10 @@ <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> - <TargetFramework>net8.0</TargetFramework> + <TargetFramework>net8.0-windows</TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> + <UseWindowsForms>true</UseWindowsForms> </PropertyGroup> </Project> diff --git a/InternetShop/PluginConventions/PluginsConventionElement.cs b/InternetShop/PluginConventions/PluginsConventionElement.cs new file mode 100644 index 0000000..c66c0e2 --- /dev/null +++ b/InternetShop/PluginConventions/PluginsConventionElement.cs @@ -0,0 +1,7 @@ +namespace PluginConventions +{ + public class PluginsConventionElement + { + public Guid Id { get; set; } + } +} diff --git a/InternetShop/PluginConventions/PluginsConventionSaveDocument.cs b/InternetShop/PluginConventions/PluginsConventionSaveDocument.cs new file mode 100644 index 0000000..c3e3a64 --- /dev/null +++ b/InternetShop/PluginConventions/PluginsConventionSaveDocument.cs @@ -0,0 +1,7 @@ +namespace PluginConventions +{ + public class PluginsConventionSaveDocument + { + public string FileName { get; set; } = string.Empty; + } +}