diff --git a/VolkovLabs/InternetShopOrdersApp/InternetShopOrdersApp.csproj b/VolkovLabs/InternetShopOrdersApp/InternetShopOrdersApp.csproj index 5d77f9a..e847862 100644 --- a/VolkovLabs/InternetShopOrdersApp/InternetShopOrdersApp.csproj +++ b/VolkovLabs/InternetShopOrdersApp/InternetShopOrdersApp.csproj @@ -24,6 +24,7 @@ + diff --git a/VolkovLabs/InternetShopOrdersApp/PluginsConvention.cs b/VolkovLabs/InternetShopOrdersApp/PluginsConvention.cs new file mode 100644 index 0000000..eb60caa --- /dev/null +++ b/VolkovLabs/InternetShopOrdersApp/PluginsConvention.cs @@ -0,0 +1,186 @@ +using ComponentsLibraryNet60.Core; +using ComponentsLibraryNet60.DocumentWithTable; +using ComponentsLibraryNet60.Models; +using ControlsLibraryNet60.Data; +using ControlsLibraryNet60.Models; +using FormLibrary; +using FormLibrary.HelperClasses; +using InternetShopOrdersBusinessLogic.BusinessLogics; +using InternetShopOrdersContracts.BusinessLogicContracts; +using InternetShopOrdersContracts.ViewModels; +using InternetShopOrdersDatabaseImplement.Implements; +using NevaevaLibrary.LogicalComponents; +using PluginsConventionLibrary; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WinFormsLibraryVolkov.NonVisualComponents; + +namespace InternetShopOrdersApp +{ + public class PluginsConvention : IPluginsConvention + { + private readonly IOrderLogic _orderLogic; + private readonly ISelectedItemLogic _selecteditemLogic; + private readonly ControlDataTableTable _controlDataTableTable; + private readonly ExcelImagesComponent _excelImagesComponent; + private readonly ComponentDocumentWithTableHeaderRowWord _wordTableComponent; + private readonly ComponentHistogramToPdf _componentHistogramToPdf; + + public string PluginName { get; set; } = "MyLabworkPlugin"; + + public UserControl GetControl + { + get { return _controlDataTableTable; } + } + + public PluginsConvention() + { + _orderLogic = new OrderLogic(new OrderStorage()); + _selecteditemLogic = new SelectedItemLogic(new SelectedItemStorage()); + _controlDataTableTable = new(); + _excelImagesComponent = new(); + _wordTableComponent = new(); + _componentHistogramToPdf = new(); + } + + public PluginsConventionElement GetElement + { + get + { + int Id = _controlDataTableTable.GetSelectedObject()!.Id; + byte[] bytes = new byte[16]; + BitConverter.GetBytes(Id).CopyTo(bytes, 0); + Guid guid = new Guid(bytes); + return new PluginsConventionElement() { Id = guid }; + } + } + + public Form GetForm(PluginsConventionElement element) + { + if (element == null) + { + return new FormOrder(_orderLogic, _selecteditemLogic); + } + else + { + FormOrder form = new FormOrder(_orderLogic, _selecteditemLogic); + form.Id = element.Id.GetHashCode(); + return form; + } + } + + public Form GetThesaurus() + { + return new FormSelectedItems(_selecteditemLogic); + } + + public bool DeleteElement(PluginsConventionElement element) + { + _orderLogic.Delete(new InternetShopOrdersContracts.BindingModels.OrderBindingModel { Id = element.GetHashCode() }); + return true; + } + + public void ReloadData() + { + try + { + var orders = _orderLogic.ReadList(null); + if (_orderLogic != null) + { + _controlDataTableTable.Clear(); + + _controlDataTableTable.LoadColumns(new List + { + new DataTableColumnConfig { ColumnHeader = "", PropertyName = "Id", Visible = false, Width = 10 }, + new DataTableColumnConfig { ColumnHeader = "ФИО заказчика", PropertyName = "Fullname", Visible = true, Width = 200 }, + new DataTableColumnConfig { ColumnHeader = "Выбранный товар", PropertyName = "SelectedItemName", Visible = true, Width = 200 }, + new DataTableColumnConfig { ColumnHeader = "Электронная почта", PropertyName = "Email", Visible = true, Width = 200 }, + }); + _controlDataTableTable.AddTable(orders); + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + public bool CreateSimpleDocument(PluginsConventionSaveDocument saveDocument) + { + List orderImages = new List(); + foreach (var order in _orderLogic.ReadList(null)) + { + orderImages.Add(order.OrderImage); + } + string path = saveDocument.FileName; + if (_excelImagesComponent.createWithImages(new ExcelImageInfo(path, "Фотокарточки товаров", orderImages.ToArray()))) + { + MessageBox.Show("Документ с фотографиями заказов создан"); + return true; + } + return false; + } + + public bool CreateTableDocument(PluginsConventionSaveDocument saveDocument) + { + string path = saveDocument.FileName; + + var orders = _orderLogic.ReadList(null); + ComponentDocumentWithTableHeaderRowWord table = new ComponentDocumentWithTableHeaderRowWord(); + table.CreateDoc(new ComponentDocumentWithTableHeaderDataConfig + { + FilePath = path, + Header = "Заказы", + UseUnion = true, + ColumnsRowsWidth = new List<(int, int)> { (5, 0), (10, 0), (10, 0), (10, 0) }, + ColumnUnion = new List<(int StartIndex, int Count)> { (1, 2) }, + Headers = new List<(int ColumnIndex, int RowIndex, string Header, string PropertyName)> + { + (0, 0, "Id", "Id"), + (1, 0, "Личные данные", ""), + (1, 1, "ФИО заказчика", "Fullname"), + (2, 1, "Электронная почта", "Email"), + (3, 0, "Выбранный товар", "SelectedItemName"), + }, + Data = orders + }); + MessageBox.Show("Word файл был успешно создан!", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information); + return true; + } + + public bool CreateChartDocument(PluginsConventionSaveDocument saveDocument) + { + string filePath = saveDocument.FileName; + ComponentHistogramToPdf histogramGenerator = new ComponentHistogramToPdf(); + + var orders = _orderLogic.ReadList(null); + + var itemCounts = new Dictionary(); + foreach (var order in orders) + { + if (!itemCounts.ContainsKey(order.SelectedItemName)) + { + itemCounts[order.SelectedItemName] = 0; + } + itemCounts[order.SelectedItemName]++; + } + + var sortedItemCounts = itemCounts.OrderBy(kvp => kvp.Key).ToList(); + + var chartData = sortedItemCounts.Select(kvp => new ChartData + { + SeriesName = kvp.Key, // Название товара + Data = new Dictionary { { kvp.Key, kvp.Value } } + }).ToList(); + + + histogramGenerator.CreateHistogramPdf(filePath, "", "Диаграмма заказов", OxyPlot.Legends.LegendPosition.BottomCenter, chartData); + MessageBox.Show("Pdf файл был успешно создан!", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information); + return false; + } + } +} + diff --git a/VolkovLabs/InternetShopOrdersAppPlugins/FormMain.Designer.cs b/VolkovLabs/InternetShopOrdersAppPlugins/FormMain.Designer.cs index be5aded..57fa639 100644 --- a/VolkovLabs/InternetShopOrdersAppPlugins/FormMain.Designer.cs +++ b/VolkovLabs/InternetShopOrdersAppPlugins/FormMain.Designer.cs @@ -1,4 +1,7 @@ -namespace InternetShopOrdersAppPlugins +using static System.Net.Mime.MediaTypeNames; +using System.Windows.Forms; + +namespace InternetShopOrdersAppPlugins { partial class FormMain { @@ -28,12 +31,154 @@ /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); + this.menuStrip = new System.Windows.Forms.MenuStrip(); + this.ControlsStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.ActionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.ThesaurusToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.AddElementToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.UpdElementToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.DelElementToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.DocsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.SimpleDocToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.TableDocToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.ChartDocToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.panelControl = new System.Windows.Forms.Panel(); + this.menuStrip.SuspendLayout(); + this.SuspendLayout(); + // + // menuStrip + // + this.menuStrip.ImageScalingSize = new System.Drawing.Size(20, 20); + this.menuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.ControlsStripMenuItem, + this.ActionsToolStripMenuItem, + this.DocsToolStripMenuItem}); + this.menuStrip.Location = new System.Drawing.Point(0, 0); + this.menuStrip.Name = "menuStrip"; + this.menuStrip.Padding = new System.Windows.Forms.Padding(7, 3, 0, 3); + this.menuStrip.Size = new System.Drawing.Size(914, 30); + this.menuStrip.TabIndex = 0; + this.menuStrip.Text = "Меню"; + // + // ControlsStripMenuItem + // + this.ControlsStripMenuItem.Name = "ControlsStripMenuItem"; + this.ControlsStripMenuItem.Size = new System.Drawing.Size(113, 24); + this.ControlsStripMenuItem.Text = "Компоненты"; + // + // ActionsToolStripMenuItem + // + this.ActionsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.ThesaurusToolStripMenuItem, + this.AddElementToolStripMenuItem, + this.UpdElementToolStripMenuItem, + this.DelElementToolStripMenuItem}); + this.ActionsToolStripMenuItem.Name = "ActionsToolStripMenuItem"; + this.ActionsToolStripMenuItem.Size = new System.Drawing.Size(88, 24); + this.ActionsToolStripMenuItem.Text = "Действия"; + // + // ThesaurusToolStripMenuItem + // + this.ThesaurusToolStripMenuItem.Name = "ThesaurusToolStripMenuItem"; + this.ThesaurusToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.I))); + this.ThesaurusToolStripMenuItem.Size = new System.Drawing.Size(223, 26); + this.ThesaurusToolStripMenuItem.Text = "Справочник"; + // + // AddElementToolStripMenuItem + // + this.AddElementToolStripMenuItem.Name = "AddElementToolStripMenuItem"; + this.AddElementToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.A))); + this.AddElementToolStripMenuItem.Size = new System.Drawing.Size(223, 26); + this.AddElementToolStripMenuItem.Text = "Добавить"; + // + // UpdElementToolStripMenuItem + // + this.UpdElementToolStripMenuItem.Name = "UpdElementToolStripMenuItem"; + this.UpdElementToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.U))); + this.UpdElementToolStripMenuItem.Size = new System.Drawing.Size(223, 26); + this.UpdElementToolStripMenuItem.Text = "Изменить"; + // + // DelElementToolStripMenuItem + // + this.DelElementToolStripMenuItem.Name = "DelElementToolStripMenuItem"; + this.DelElementToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.D))); + this.DelElementToolStripMenuItem.Size = new System.Drawing.Size(223, 26); + this.DelElementToolStripMenuItem.Text = "Удалить"; + // + // DocsToolStripMenuItem + // + this.DocsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.SimpleDocToolStripMenuItem, + this.TableDocToolStripMenuItem, + this.ChartDocToolStripMenuItem}); + this.DocsToolStripMenuItem.Name = "DocsToolStripMenuItem"; + this.DocsToolStripMenuItem.Size = new System.Drawing.Size(101, 24); + this.DocsToolStripMenuItem.Text = "Документы"; + // + // SimpleDocToolStripMenuItem + // + this.SimpleDocToolStripMenuItem.Name = "SimpleDocToolStripMenuItem"; + this.SimpleDocToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S))); + this.SimpleDocToolStripMenuItem.Size = new System.Drawing.Size(313, 26); + this.SimpleDocToolStripMenuItem.Text = "Простой документ"; + // + // TableDocToolStripMenuItem + // + this.TableDocToolStripMenuItem.Name = "TableDocToolStripMenuItem"; + this.TableDocToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.T))); + this.TableDocToolStripMenuItem.Size = new System.Drawing.Size(313, 26); + this.TableDocToolStripMenuItem.Text = "Документ с таблицой"; + // + // ChartDocToolStripMenuItem + // + this.ChartDocToolStripMenuItem.Name = "ChartDocToolStripMenuItem"; + this.ChartDocToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.C))); + this.ChartDocToolStripMenuItem.Size = new System.Drawing.Size(313, 26); + this.ChartDocToolStripMenuItem.Text = "Документ с диаграммой"; + // + // panelControl + // + this.panelControl.Dock = System.Windows.Forms.DockStyle.Fill; + this.panelControl.Location = new System.Drawing.Point(0, 30); + this.panelControl.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + this.panelControl.Name = "panelControl"; + this.panelControl.Size = new System.Drawing.Size(914, 570); + this.panelControl.TabIndex = 1; + // + // FormMain + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(800, 450); - this.Text = "FormMain"; + this.ClientSize = new System.Drawing.Size(914, 600); + this.Controls.Add(this.panelControl); + this.Controls.Add(this.menuStrip); + this.MainMenuStrip = this.menuStrip; + this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + this.Name = "FormMain"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Главная форма"; + this.WindowState = System.Windows.Forms.FormWindowState.Maximized; + this.Load += new System.EventHandler(this.FormMain_Load); + this.menuStrip.ResumeLayout(false); + this.menuStrip.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + } #endregion + + private System.Windows.Forms.MenuStrip menuStrip; + private System.Windows.Forms.ToolStripMenuItem ControlsStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem DocsToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem SimpleDocToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem TableDocToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem ChartDocToolStripMenuItem; + private System.Windows.Forms.Panel panelControl; + private System.Windows.Forms.ToolStripMenuItem ActionsToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem ThesaurusToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem AddElementToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem UpdElementToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem DelElementToolStripMenuItem; } } \ No newline at end of file diff --git a/VolkovLabs/InternetShopOrdersAppPlugins/FormMain.cs b/VolkovLabs/InternetShopOrdersAppPlugins/FormMain.cs index 1f26c46..6dfbac4 100644 --- a/VolkovLabs/InternetShopOrdersAppPlugins/FormMain.cs +++ b/VolkovLabs/InternetShopOrdersAppPlugins/FormMain.cs @@ -1,9 +1,11 @@ -using System; +using PluginsConventionLibrary; +using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; +using System.Reflection; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; @@ -12,9 +14,228 @@ namespace InternetShopOrdersAppPlugins { public partial class FormMain : Form { + private readonly Dictionary _plugins; + private string _selectedPlugin; + public FormMain() { InitializeComponent(); + _plugins = new(); + LoadPlugins(); + _selectedPlugin = string.Empty; + } + + private void LoadPlugins() + { + List pluginsList = GetPlugins(); + + foreach (var plugin in pluginsList) + { + _plugins[plugin.PluginName] = plugin; + CreateMenuItem(plugin.PluginName); + } + } + + private List GetPlugins() + { + string currentDir = Environment.CurrentDirectory; + string pluginsDir = Directory.GetParent(currentDir).Parent.Parent.Parent.FullName + "\\Plugins"; + string[] dllFiles = Directory.GetFiles( + pluginsDir, + "*.dll", + SearchOption.AllDirectories + ); + List plugins = new(); + foreach (string dllFile in dllFiles) + { + try + { + Assembly assembly = Assembly.LoadFrom(dllFile); + Type[] types = assembly.GetTypes(); + foreach (Type type in types) + { + if (typeof(IPluginsConvention).IsAssignableFrom(type) && !type.IsInterface) + { + if (Activator.CreateInstance(type) is IPluginsConvention plugin) + { + plugins.Add(plugin); + } + } + } + } + catch (Exception ex) + { + MessageBox.Show( + ex.Message + ); + } + } + return plugins; + } + + private void CreateMenuItem(string pluginName) + { + ToolStripMenuItem menuItem = new(pluginName); + menuItem.Click += (object? sender, EventArgs e) => + { + UserControl userControl = _plugins[pluginName].GetControl; + if (userControl != null) + { + panelControl.Controls.Clear(); + userControl.Dock = DockStyle.Fill; + _plugins[pluginName].ReloadData(); + _selectedPlugin = pluginName; + panelControl.Controls.Add(userControl); + } + }; + ControlsStripMenuItem.DropDownItems.Add(menuItem); + } + + private void FormMain_KeyDown(object sender, KeyEventArgs e) + { + if (string.IsNullOrEmpty(_selectedPlugin) || + !_plugins.ContainsKey(_selectedPlugin)) + { + return; + } + if (!e.Control) + { + return; + } + switch (e.KeyCode) + { + case Keys.I: + ShowThesaurus(); + break; + case Keys.A: + AddNewElement(); + break; + case Keys.U: + UpdateElement(); + break; + case Keys.D: + DeleteElement(); + break; + case Keys.S: + CreateSimpleDoc(); + break; + case Keys.T: + CreateTableDoc(); + break; + case Keys.C: + CreateChartDoc(); + break; + } + } + + private void ShowThesaurus() + { + _plugins[_selectedPlugin].GetThesaurus()?.Show(); + } + + private void AddNewElement() + { + var form = _plugins[_selectedPlugin].GetForm(null); + if (form != null && form.ShowDialog() == DialogResult.OK) + { + _plugins[_selectedPlugin].ReloadData(); + } + } + + private void UpdateElement() + { + var element = _plugins[_selectedPlugin].GetElement; + if (element == null) + { + MessageBox.Show( + "Не выбран элемент для обновления", + "Ошибка", + MessageBoxButtons.OK, + MessageBoxIcon.Error + ); + return; + } + var form = _plugins[_selectedPlugin].GetForm(element); + if (form != null && form.ShowDialog() == DialogResult.OK) + { + _plugins[_selectedPlugin].ReloadData(); + } + } + + private void DeleteElement() + { + if (MessageBox.Show( + "Удалить выбранный элемент?", + "Удаление", + MessageBoxButtons.YesNo, + MessageBoxIcon.Question) != DialogResult.Yes) + { + return; + } + var element = _plugins[_selectedPlugin].GetElement; + if (element == null) + { + MessageBox.Show( + "Не выбран элемент для удаления", + "Ошибка", + MessageBoxButtons.OK, + MessageBoxIcon.Error + ); + return; + } + if (_plugins[_selectedPlugin].DeleteElement(element)) + { + _plugins[_selectedPlugin].ReloadData(); + } + } + + private void CreateSimpleDoc() + { + SaveFileDialog saveFileDialog = new() + { + Filter = "Excel Files|*.xlsx" + }; + if (saveFileDialog.ShowDialog() == DialogResult.OK) + { + _plugins[_selectedPlugin].CreateSimpleDocument(new PluginsConventionSaveDocument() { FileName = saveFileDialog.FileName }); + + } + } + private void CreateTableDoc() + { + SaveFileDialog saveFileDialog = new() + { + Filter = "Word Files|*.docx" + }; + if (saveFileDialog.ShowDialog() == DialogResult.OK) + { + _plugins[_selectedPlugin].CreateTableDocument(new PluginsConventionSaveDocument() { FileName = saveFileDialog.FileName }); + + } + } + private void CreateChartDoc() + { + SaveFileDialog saveFileDialog = new() + { + Filter = "PDF Files|*.pdf" + }; + if (saveFileDialog.ShowDialog() == DialogResult.OK) + { + _plugins[_selectedPlugin].CreateChartDocument(new PluginsConventionSaveDocument() { FileName = saveFileDialog.FileName }); + } + } + + private void ThesaurusToolStripMenuItem_Click(object sender, EventArgs e) => ShowThesaurus(); + private void AddElementToolStripMenuItem_Click(object sender, EventArgs e) => AddNewElement(); + private void UpdElementToolStripMenuItem_Click(object sender, EventArgs e) => UpdateElement(); + private void DelElementToolStripMenuItem_Click(object sender, EventArgs e) => DeleteElement(); + private void SimpleDocToolStripMenuItem_Click(object sender, EventArgs e) => CreateSimpleDoc(); + private void TableDocToolStripMenuItem_Click(object sender, EventArgs e) => CreateTableDoc(); + private void ChartDocToolStripMenuItem_Click(object sender, EventArgs e) => CreateChartDoc(); + + private void FormMain_Load(object sender, EventArgs e) + { + } } } diff --git a/VolkovLabs/InternetShopOrdersAppPlugins/FormMain.resx b/VolkovLabs/InternetShopOrdersAppPlugins/FormMain.resx index 1af7de1..81a9e3d 100644 --- a/VolkovLabs/InternetShopOrdersAppPlugins/FormMain.resx +++ b/VolkovLabs/InternetShopOrdersAppPlugins/FormMain.resx @@ -1,64 +1,4 @@ - - - + @@ -117,4 +57,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 17, 17 + \ No newline at end of file diff --git a/VolkovLabs/InternetShopOrdersAppPlugins/InternetShopOrdersAppPlugins.csproj b/VolkovLabs/InternetShopOrdersAppPlugins/InternetShopOrdersAppPlugins.csproj index c8fa3d5..d8b6a13 100644 --- a/VolkovLabs/InternetShopOrdersAppPlugins/InternetShopOrdersAppPlugins.csproj +++ b/VolkovLabs/InternetShopOrdersAppPlugins/InternetShopOrdersAppPlugins.csproj @@ -8,6 +8,12 @@ enable + + + + + + diff --git a/VolkovLabs/Plugins/ComponentsLibraryNet60.dll b/VolkovLabs/Plugins/ComponentsLibraryNet60.dll new file mode 100644 index 0000000..9807306 Binary files /dev/null and b/VolkovLabs/Plugins/ComponentsLibraryNet60.dll differ diff --git a/VolkovLabs/Plugins/ControlsLibraryNet60.dll b/VolkovLabs/Plugins/ControlsLibraryNet60.dll new file mode 100644 index 0000000..3d14013 Binary files /dev/null and b/VolkovLabs/Plugins/ControlsLibraryNet60.dll differ diff --git a/VolkovLabs/Plugins/DocumentFormat.OpenXml.dll b/VolkovLabs/Plugins/DocumentFormat.OpenXml.dll new file mode 100644 index 0000000..846973a Binary files /dev/null and b/VolkovLabs/Plugins/DocumentFormat.OpenXml.dll differ diff --git a/VolkovLabs/Plugins/FormLibrary.dll b/VolkovLabs/Plugins/FormLibrary.dll new file mode 100644 index 0000000..63e4a2d Binary files /dev/null and b/VolkovLabs/Plugins/FormLibrary.dll differ diff --git a/VolkovLabs/Plugins/Humanizer.dll b/VolkovLabs/Plugins/Humanizer.dll new file mode 100644 index 0000000..c9a7ef8 Binary files /dev/null and b/VolkovLabs/Plugins/Humanizer.dll differ diff --git a/VolkovLabs/Plugins/InternetShopDataModels.dll b/VolkovLabs/Plugins/InternetShopDataModels.dll new file mode 100644 index 0000000..6f80546 Binary files /dev/null and b/VolkovLabs/Plugins/InternetShopDataModels.dll differ diff --git a/VolkovLabs/Plugins/InternetShopOrdersApp.dll b/VolkovLabs/Plugins/InternetShopOrdersApp.dll new file mode 100644 index 0000000..364e171 Binary files /dev/null and b/VolkovLabs/Plugins/InternetShopOrdersApp.dll differ diff --git a/VolkovLabs/Plugins/InternetShopOrdersAppPlugins.dll b/VolkovLabs/Plugins/InternetShopOrdersAppPlugins.dll new file mode 100644 index 0000000..b0722dd Binary files /dev/null and b/VolkovLabs/Plugins/InternetShopOrdersAppPlugins.dll differ diff --git a/VolkovLabs/Plugins/InternetShopOrdersBusinessLogic.dll b/VolkovLabs/Plugins/InternetShopOrdersBusinessLogic.dll new file mode 100644 index 0000000..daf7f33 Binary files /dev/null and b/VolkovLabs/Plugins/InternetShopOrdersBusinessLogic.dll differ diff --git a/VolkovLabs/Plugins/InternetShopOrdersContracts.dll b/VolkovLabs/Plugins/InternetShopOrdersContracts.dll new file mode 100644 index 0000000..c868e4e Binary files /dev/null and b/VolkovLabs/Plugins/InternetShopOrdersContracts.dll differ diff --git a/VolkovLabs/Plugins/InternetShopOrdersDataModels.dll b/VolkovLabs/Plugins/InternetShopOrdersDataModels.dll new file mode 100644 index 0000000..186ce93 Binary files /dev/null and b/VolkovLabs/Plugins/InternetShopOrdersDataModels.dll differ diff --git a/VolkovLabs/Plugins/InternetShopOrdersDatabaseImplement.dll b/VolkovLabs/Plugins/InternetShopOrdersDatabaseImplement.dll new file mode 100644 index 0000000..9912c25 Binary files /dev/null and b/VolkovLabs/Plugins/InternetShopOrdersDatabaseImplement.dll differ diff --git a/VolkovLabs/Plugins/Interop.Microsoft.Office.Core.dll b/VolkovLabs/Plugins/Interop.Microsoft.Office.Core.dll new file mode 100644 index 0000000..1146745 Binary files /dev/null and b/VolkovLabs/Plugins/Interop.Microsoft.Office.Core.dll differ diff --git a/VolkovLabs/Plugins/Interop.Microsoft.Office.Interop.Excel.dll b/VolkovLabs/Plugins/Interop.Microsoft.Office.Interop.Excel.dll new file mode 100644 index 0000000..b05eb7e Binary files /dev/null and b/VolkovLabs/Plugins/Interop.Microsoft.Office.Interop.Excel.dll differ diff --git a/VolkovLabs/Plugins/Microsoft.Bcl.AsyncInterfaces.dll b/VolkovLabs/Plugins/Microsoft.Bcl.AsyncInterfaces.dll new file mode 100644 index 0000000..fe6ba4c Binary files /dev/null and b/VolkovLabs/Plugins/Microsoft.Bcl.AsyncInterfaces.dll differ diff --git a/VolkovLabs/Plugins/Microsoft.CodeAnalysis.CSharp.Workspaces.dll b/VolkovLabs/Plugins/Microsoft.CodeAnalysis.CSharp.Workspaces.dll new file mode 100644 index 0000000..dc218f9 Binary files /dev/null and b/VolkovLabs/Plugins/Microsoft.CodeAnalysis.CSharp.Workspaces.dll differ diff --git a/VolkovLabs/Plugins/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll b/VolkovLabs/Plugins/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll new file mode 100644 index 0000000..2d39791 Binary files /dev/null and b/VolkovLabs/Plugins/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll differ diff --git a/VolkovLabs/Plugins/Microsoft.CodeAnalysis.CSharp.dll b/VolkovLabs/Plugins/Microsoft.CodeAnalysis.CSharp.dll new file mode 100644 index 0000000..412e7ed Binary files /dev/null and b/VolkovLabs/Plugins/Microsoft.CodeAnalysis.CSharp.dll differ diff --git a/VolkovLabs/Plugins/Microsoft.CodeAnalysis.CSharp.resources.dll b/VolkovLabs/Plugins/Microsoft.CodeAnalysis.CSharp.resources.dll new file mode 100644 index 0000000..eba2a5a Binary files /dev/null and b/VolkovLabs/Plugins/Microsoft.CodeAnalysis.CSharp.resources.dll differ diff --git a/VolkovLabs/Plugins/Microsoft.CodeAnalysis.Workspaces.dll b/VolkovLabs/Plugins/Microsoft.CodeAnalysis.Workspaces.dll new file mode 100644 index 0000000..8dec441 Binary files /dev/null and b/VolkovLabs/Plugins/Microsoft.CodeAnalysis.Workspaces.dll differ diff --git a/VolkovLabs/Plugins/Microsoft.CodeAnalysis.Workspaces.resources.dll b/VolkovLabs/Plugins/Microsoft.CodeAnalysis.Workspaces.resources.dll new file mode 100644 index 0000000..691a8fa Binary files /dev/null and b/VolkovLabs/Plugins/Microsoft.CodeAnalysis.Workspaces.resources.dll differ diff --git a/VolkovLabs/Plugins/Microsoft.CodeAnalysis.dll b/VolkovLabs/Plugins/Microsoft.CodeAnalysis.dll new file mode 100644 index 0000000..79e9046 Binary files /dev/null and b/VolkovLabs/Plugins/Microsoft.CodeAnalysis.dll differ diff --git a/VolkovLabs/Plugins/Microsoft.CodeAnalysis.resources.dll b/VolkovLabs/Plugins/Microsoft.CodeAnalysis.resources.dll new file mode 100644 index 0000000..05845f2 Binary files /dev/null and b/VolkovLabs/Plugins/Microsoft.CodeAnalysis.resources.dll differ diff --git a/VolkovLabs/Plugins/Microsoft.EntityFrameworkCore.Abstractions.dll b/VolkovLabs/Plugins/Microsoft.EntityFrameworkCore.Abstractions.dll new file mode 100644 index 0000000..2169cf8 Binary files /dev/null and b/VolkovLabs/Plugins/Microsoft.EntityFrameworkCore.Abstractions.dll differ diff --git a/VolkovLabs/Plugins/Microsoft.EntityFrameworkCore.Design.dll b/VolkovLabs/Plugins/Microsoft.EntityFrameworkCore.Design.dll new file mode 100644 index 0000000..7ba3d94 Binary files /dev/null and b/VolkovLabs/Plugins/Microsoft.EntityFrameworkCore.Design.dll differ diff --git a/VolkovLabs/Plugins/Microsoft.EntityFrameworkCore.Relational.dll b/VolkovLabs/Plugins/Microsoft.EntityFrameworkCore.Relational.dll new file mode 100644 index 0000000..f8c58d0 Binary files /dev/null and b/VolkovLabs/Plugins/Microsoft.EntityFrameworkCore.Relational.dll differ diff --git a/VolkovLabs/Plugins/Microsoft.EntityFrameworkCore.dll b/VolkovLabs/Plugins/Microsoft.EntityFrameworkCore.dll new file mode 100644 index 0000000..b628ed6 Binary files /dev/null and b/VolkovLabs/Plugins/Microsoft.EntityFrameworkCore.dll differ diff --git a/VolkovLabs/Plugins/Microsoft.Extensions.Caching.Abstractions.dll b/VolkovLabs/Plugins/Microsoft.Extensions.Caching.Abstractions.dll new file mode 100644 index 0000000..99aac98 Binary files /dev/null and b/VolkovLabs/Plugins/Microsoft.Extensions.Caching.Abstractions.dll differ diff --git a/VolkovLabs/Plugins/Microsoft.Extensions.Caching.Memory.dll b/VolkovLabs/Plugins/Microsoft.Extensions.Caching.Memory.dll new file mode 100644 index 0000000..077b1b6 Binary files /dev/null and b/VolkovLabs/Plugins/Microsoft.Extensions.Caching.Memory.dll differ diff --git a/VolkovLabs/Plugins/Microsoft.Extensions.Configuration.Abstractions.dll b/VolkovLabs/Plugins/Microsoft.Extensions.Configuration.Abstractions.dll new file mode 100644 index 0000000..a5ab313 Binary files /dev/null and b/VolkovLabs/Plugins/Microsoft.Extensions.Configuration.Abstractions.dll differ diff --git a/VolkovLabs/Plugins/Microsoft.Extensions.DependencyInjection.Abstractions.dll b/VolkovLabs/Plugins/Microsoft.Extensions.DependencyInjection.Abstractions.dll new file mode 100644 index 0000000..81ed3de Binary files /dev/null and b/VolkovLabs/Plugins/Microsoft.Extensions.DependencyInjection.Abstractions.dll differ diff --git a/VolkovLabs/Plugins/Microsoft.Extensions.DependencyInjection.dll b/VolkovLabs/Plugins/Microsoft.Extensions.DependencyInjection.dll new file mode 100644 index 0000000..bd71a2b Binary files /dev/null and b/VolkovLabs/Plugins/Microsoft.Extensions.DependencyInjection.dll differ diff --git a/VolkovLabs/Plugins/Microsoft.Extensions.DependencyModel.dll b/VolkovLabs/Plugins/Microsoft.Extensions.DependencyModel.dll new file mode 100644 index 0000000..8905537 Binary files /dev/null and b/VolkovLabs/Plugins/Microsoft.Extensions.DependencyModel.dll differ diff --git a/VolkovLabs/Plugins/Microsoft.Extensions.Logging.Abstractions.dll b/VolkovLabs/Plugins/Microsoft.Extensions.Logging.Abstractions.dll new file mode 100644 index 0000000..f9d1dc6 Binary files /dev/null and b/VolkovLabs/Plugins/Microsoft.Extensions.Logging.Abstractions.dll differ diff --git a/VolkovLabs/Plugins/Microsoft.Extensions.Logging.dll b/VolkovLabs/Plugins/Microsoft.Extensions.Logging.dll new file mode 100644 index 0000000..35905b6 Binary files /dev/null and b/VolkovLabs/Plugins/Microsoft.Extensions.Logging.dll differ diff --git a/VolkovLabs/Plugins/Microsoft.Extensions.Options.dll b/VolkovLabs/Plugins/Microsoft.Extensions.Options.dll new file mode 100644 index 0000000..a7b3f21 Binary files /dev/null and b/VolkovLabs/Plugins/Microsoft.Extensions.Options.dll differ diff --git a/VolkovLabs/Plugins/Microsoft.Extensions.Primitives.dll b/VolkovLabs/Plugins/Microsoft.Extensions.Primitives.dll new file mode 100644 index 0000000..c24f2a0 Binary files /dev/null and b/VolkovLabs/Plugins/Microsoft.Extensions.Primitives.dll differ diff --git a/VolkovLabs/Plugins/MigraDoc.DocumentObjectModel.dll b/VolkovLabs/Plugins/MigraDoc.DocumentObjectModel.dll new file mode 100644 index 0000000..2bf457c Binary files /dev/null and b/VolkovLabs/Plugins/MigraDoc.DocumentObjectModel.dll differ diff --git a/VolkovLabs/Plugins/MigraDoc.DocumentObjectModel.resources.dll b/VolkovLabs/Plugins/MigraDoc.DocumentObjectModel.resources.dll new file mode 100644 index 0000000..4331e4a Binary files /dev/null and b/VolkovLabs/Plugins/MigraDoc.DocumentObjectModel.resources.dll differ diff --git a/VolkovLabs/Plugins/MigraDoc.Rendering.dll b/VolkovLabs/Plugins/MigraDoc.Rendering.dll new file mode 100644 index 0000000..9c14fbe Binary files /dev/null and b/VolkovLabs/Plugins/MigraDoc.Rendering.dll differ diff --git a/VolkovLabs/Plugins/MigraDoc.Rendering.resources.dll b/VolkovLabs/Plugins/MigraDoc.Rendering.resources.dll new file mode 100644 index 0000000..cde2390 Binary files /dev/null and b/VolkovLabs/Plugins/MigraDoc.Rendering.resources.dll differ diff --git a/VolkovLabs/Plugins/Mono.TextTemplating.dll b/VolkovLabs/Plugins/Mono.TextTemplating.dll new file mode 100644 index 0000000..d5a4b3c Binary files /dev/null and b/VolkovLabs/Plugins/Mono.TextTemplating.dll differ diff --git a/VolkovLabs/Plugins/NevaevaLibrary.dll b/VolkovLabs/Plugins/NevaevaLibrary.dll new file mode 100644 index 0000000..10eaf9c Binary files /dev/null and b/VolkovLabs/Plugins/NevaevaLibrary.dll differ diff --git a/VolkovLabs/Plugins/Npgsql.EntityFrameworkCore.PostgreSQL.dll b/VolkovLabs/Plugins/Npgsql.EntityFrameworkCore.PostgreSQL.dll new file mode 100644 index 0000000..042c1f0 Binary files /dev/null and b/VolkovLabs/Plugins/Npgsql.EntityFrameworkCore.PostgreSQL.dll differ diff --git a/VolkovLabs/Plugins/Npgsql.dll b/VolkovLabs/Plugins/Npgsql.dll new file mode 100644 index 0000000..c0eb4d9 Binary files /dev/null and b/VolkovLabs/Plugins/Npgsql.dll differ diff --git a/VolkovLabs/Plugins/OxyPlot.WindowsForms.dll b/VolkovLabs/Plugins/OxyPlot.WindowsForms.dll new file mode 100644 index 0000000..103acdd Binary files /dev/null and b/VolkovLabs/Plugins/OxyPlot.WindowsForms.dll differ diff --git a/VolkovLabs/Plugins/OxyPlot.Wpf.Shared.dll b/VolkovLabs/Plugins/OxyPlot.Wpf.Shared.dll new file mode 100644 index 0000000..f6012cd Binary files /dev/null and b/VolkovLabs/Plugins/OxyPlot.Wpf.Shared.dll differ diff --git a/VolkovLabs/Plugins/OxyPlot.Wpf.dll b/VolkovLabs/Plugins/OxyPlot.Wpf.dll new file mode 100644 index 0000000..7905954 Binary files /dev/null and b/VolkovLabs/Plugins/OxyPlot.Wpf.dll differ diff --git a/VolkovLabs/Plugins/OxyPlot.dll b/VolkovLabs/Plugins/OxyPlot.dll new file mode 100644 index 0000000..c652fdb Binary files /dev/null and b/VolkovLabs/Plugins/OxyPlot.dll differ diff --git a/VolkovLabs/Plugins/PdfSharp.Charting.dll b/VolkovLabs/Plugins/PdfSharp.Charting.dll new file mode 100644 index 0000000..384a0f0 Binary files /dev/null and b/VolkovLabs/Plugins/PdfSharp.Charting.dll differ diff --git a/VolkovLabs/Plugins/PdfSharp.Charting.resources.dll b/VolkovLabs/Plugins/PdfSharp.Charting.resources.dll new file mode 100644 index 0000000..4a0c247 Binary files /dev/null and b/VolkovLabs/Plugins/PdfSharp.Charting.resources.dll differ diff --git a/VolkovLabs/Plugins/PdfSharp.dll b/VolkovLabs/Plugins/PdfSharp.dll new file mode 100644 index 0000000..aa564e1 Binary files /dev/null and b/VolkovLabs/Plugins/PdfSharp.dll differ diff --git a/VolkovLabs/Plugins/PdfSharp.resources.dll b/VolkovLabs/Plugins/PdfSharp.resources.dll new file mode 100644 index 0000000..da5b607 Binary files /dev/null and b/VolkovLabs/Plugins/PdfSharp.resources.dll differ diff --git a/VolkovLabs/Plugins/PluginsConventionLibrary.dll b/VolkovLabs/Plugins/PluginsConventionLibrary.dll new file mode 100644 index 0000000..ad0137d Binary files /dev/null and b/VolkovLabs/Plugins/PluginsConventionLibrary.dll differ diff --git a/VolkovLabs/Plugins/System.Composition.AttributedModel.dll b/VolkovLabs/Plugins/System.Composition.AttributedModel.dll new file mode 100644 index 0000000..d37283b Binary files /dev/null and b/VolkovLabs/Plugins/System.Composition.AttributedModel.dll differ diff --git a/VolkovLabs/Plugins/System.Composition.Convention.dll b/VolkovLabs/Plugins/System.Composition.Convention.dll new file mode 100644 index 0000000..b6fa4ab Binary files /dev/null and b/VolkovLabs/Plugins/System.Composition.Convention.dll differ diff --git a/VolkovLabs/Plugins/System.Composition.Hosting.dll b/VolkovLabs/Plugins/System.Composition.Hosting.dll new file mode 100644 index 0000000..c67f1c0 Binary files /dev/null and b/VolkovLabs/Plugins/System.Composition.Hosting.dll differ diff --git a/VolkovLabs/Plugins/System.Composition.Runtime.dll b/VolkovLabs/Plugins/System.Composition.Runtime.dll new file mode 100644 index 0000000..2a4b38c Binary files /dev/null and b/VolkovLabs/Plugins/System.Composition.Runtime.dll differ diff --git a/VolkovLabs/Plugins/System.Composition.TypedParts.dll b/VolkovLabs/Plugins/System.Composition.TypedParts.dll new file mode 100644 index 0000000..7c0c780 Binary files /dev/null and b/VolkovLabs/Plugins/System.Composition.TypedParts.dll differ diff --git a/VolkovLabs/Plugins/System.IO.Pipelines.dll b/VolkovLabs/Plugins/System.IO.Pipelines.dll new file mode 100644 index 0000000..8ee4dfd Binary files /dev/null and b/VolkovLabs/Plugins/System.IO.Pipelines.dll differ diff --git a/VolkovLabs/Plugins/System.Text.Json.dll b/VolkovLabs/Plugins/System.Text.Json.dll new file mode 100644 index 0000000..ffb4ad0 Binary files /dev/null and b/VolkovLabs/Plugins/System.Text.Json.dll differ diff --git a/VolkovLabs/Plugins/WinFormsLibraryVolkov.dll b/VolkovLabs/Plugins/WinFormsLibraryVolkov.dll new file mode 100644 index 0000000..6c82b55 Binary files /dev/null and b/VolkovLabs/Plugins/WinFormsLibraryVolkov.dll differ diff --git a/VolkovLabs/Plugins/WinFormsTestApp.dll b/VolkovLabs/Plugins/WinFormsTestApp.dll new file mode 100644 index 0000000..9b7e4ff Binary files /dev/null and b/VolkovLabs/Plugins/WinFormsTestApp.dll differ diff --git a/VolkovLabs/VolkovLabs.sln b/VolkovLabs/VolkovLabs.sln index ee8df05..d4ce1fc 100644 --- a/VolkovLabs/VolkovLabs.sln +++ b/VolkovLabs/VolkovLabs.sln @@ -17,9 +17,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "InternetShopDataModels", "I EndProject 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}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PluginsConventionLibrary", "PluginsConventionLibrary\PluginsConventionLibrary.csproj", "{B0E17F90-929D-4AA7-8FA5-5F5E037140BE}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PluginsConventionLibrary", "PluginsConventionLibrary\PluginsConventionLibrary.csproj", "{B0E17F90-929D-4AA7-8FA5-5F5E037140BE}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InternetShopOrdersAppPlugins", "InternetShopOrdersAppPlugins\InternetShopOrdersAppPlugins.csproj", "{0BBCEA03-CD1F-476B-984D-D7101CC7C1AC}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -55,14 +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 + {0BBCEA03-CD1F-476B-984D-D7101CC7C1AC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0BBCEA03-CD1F-476B-984D-D7101CC7C1AC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0BBCEA03-CD1F-476B-984D-D7101CC7C1AC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0BBCEA03-CD1F-476B-984D-D7101CC7C1AC}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE