diff --git a/IceCreamShop/IceCreamBusinessLogic/BusinessLogics/ImplementationBusinessLogicExtension.cs b/IceCreamShop/IceCreamBusinessLogic/BusinessLogics/ImplementationBusinessLogicExtension.cs new file mode 100644 index 0000000..ad29864 --- /dev/null +++ b/IceCreamShop/IceCreamBusinessLogic/BusinessLogics/ImplementationBusinessLogicExtension.cs @@ -0,0 +1,35 @@ +using IceCreamBusinessLogic.BusinessLogics; +using IceCreamBusinessLogic.MailWorker; +using IceCreamBusinessLogic.OfficePackage.Implements; +using IceCreamBusinessLogic.OfficePackage; +using IceCreamShopContracts.BusinessLogicsContracts; +using IceCreamShopContracts.DI; +using IceCreamBusinessLogic.BusinessLogic; + +namespace ConfectioneryBusinessLogic +{ + public class ImplementationBusinessLogicExtension : IImplementationBusinessLogicExtension + { + public int Priority => 0; + + public void RegisterServices() + { + DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); + + DependencyManager.Instance.RegisterType(true); + + DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); + } + } +} diff --git a/IceCreamShop/IceCreamShop/DataGridViewExtension.cs b/IceCreamShop/IceCreamShop/DataGridViewExtension.cs index a43d144..b96c1ba 100644 --- a/IceCreamShop/IceCreamShop/DataGridViewExtension.cs +++ b/IceCreamShop/IceCreamShop/DataGridViewExtension.cs @@ -31,6 +31,7 @@ namespace IceCreamShopView { column.HeaderText = columnAttr.Title; column.Visible = columnAttr.Visible; + column.DefaultCellStyle.Format = columnAttr.Format; if (columnAttr.IsUseAutoSize) { column.AutoSizeMode = (DataGridViewAutoSizeColumnMode)Enum.Parse(typeof(DataGridViewAutoSizeColumnMode), columnAttr.GridViewAutoSize.ToString()); diff --git a/IceCreamShop/IceCreamShop/FormMain.Designer.cs b/IceCreamShop/IceCreamShop/FormMain.Designer.cs index 2303bdf..f61aaf1 100644 --- a/IceCreamShop/IceCreamShop/FormMain.Designer.cs +++ b/IceCreamShop/IceCreamShop/FormMain.Designer.cs @@ -1,470 +1,273 @@ namespace IceCreamShopView { - partial class FormMain - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; + 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); - } + /// + /// 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 + #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() - { - buttonUpdate = new Button(); - buttonSetToFinish = new Button(); - buttonCreateOrder = new Button(); - dataGridView = new DataGridView(); - menuStrip = new MenuStrip(); - справочникиToolStripMenuItem = new ToolStripMenuItem(); - компонентыToolStripMenuItem = new ToolStripMenuItem(); - мороженоеToolStripMenuItem = new ToolStripMenuItem(); - клиентыToolStripMenuItem = new ToolStripMenuItem(); - ImplementersToolStripMenuItem = new ToolStripMenuItem(); - отчетыToolStripMenuItem = new ToolStripMenuItem(); - iceCreamComponentsToolStripMenuItem = new ToolStripMenuItem(); - iceCreamToolStripMenuItem = new ToolStripMenuItem(); - ordersToolStripMenuItem = new ToolStripMenuItem(); - DoWorkToolStripMenuItem = new ToolStripMenuItem(); - MailToolStripMenuItem = new ToolStripMenuItem(); - createBackupToolStripMenuItem = new ToolStripMenuItem(); - ((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit(); - menuStrip.SuspendLayout(); - SuspendLayout(); - // - // buttonUpdate - // - buttonUpdate.Location = new Point(1081, 112); - buttonUpdate.Margin = new Padding(3, 2, 3, 2); - buttonUpdate.Name = "buttonUpdate"; - buttonUpdate.Size = new Size(170, 37); - buttonUpdate.TabIndex = 13; - buttonUpdate.Text = "Обновить"; - buttonUpdate.UseVisualStyleBackColor = true; - buttonUpdate.Click += buttonUpdate_Click; - // - // buttonSetToFinish - // - buttonSetToFinish.Location = new Point(1081, 70); - buttonSetToFinish.Margin = new Padding(3, 2, 3, 2); - buttonSetToFinish.Name = "buttonSetToFinish"; - buttonSetToFinish.Size = new Size(170, 37); - buttonSetToFinish.TabIndex = 12; - buttonSetToFinish.Text = "Заказ выдан"; - buttonSetToFinish.UseVisualStyleBackColor = true; - buttonSetToFinish.Click += buttonSetToFinish_Click; - // - // buttonCreateOrder - // - buttonCreateOrder.Location = new Point(1081, 29); - buttonCreateOrder.Margin = new Padding(3, 2, 3, 2); - buttonCreateOrder.Name = "buttonCreateOrder"; - buttonCreateOrder.Size = new Size(170, 37); - buttonCreateOrder.TabIndex = 9; - buttonCreateOrder.Text = "Создать заказ"; - buttonCreateOrder.UseVisualStyleBackColor = true; - buttonCreateOrder.Click += buttonCreateOrder_Click; - // - // dataGridView - // - dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; - dataGridView.Location = new Point(12, 26); - dataGridView.Margin = new Padding(3, 2, 3, 2); - dataGridView.Name = "dataGridView"; - dataGridView.RowHeadersWidth = 51; - dataGridView.RowTemplate.Height = 29; - dataGridView.Size = new Size(1063, 305); - dataGridView.TabIndex = 8; - // - // menuStrip - // - menuStrip.ImageScalingSize = new Size(20, 20); - menuStrip.Items.AddRange(new ToolStripItem[] { справочникиToolStripMenuItem, отчетыToolStripMenuItem, DoWorkToolStripMenuItem, MailToolStripMenuItem, createBackupToolStripMenuItem }); - menuStrip.Location = new Point(0, 0); - menuStrip.Name = "menuStrip"; - menuStrip.Padding = new Padding(5, 2, 0, 2); - menuStrip.Size = new Size(1261, 24); - menuStrip.TabIndex = 7; - menuStrip.Text = "Справочники"; - // - // справочникиToolStripMenuItem - // - справочникиToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { компонентыToolStripMenuItem, мороженоеToolStripMenuItem, клиентыToolStripMenuItem, ImplementersToolStripMenuItem }); - справочникиToolStripMenuItem.Name = "справочникиToolStripMenuItem"; - справочникиToolStripMenuItem.Size = new Size(94, 20); - справочникиToolStripMenuItem.Text = "Справочники"; - // - // компонентыToolStripMenuItem - // - компонентыToolStripMenuItem.Name = "компонентыToolStripMenuItem"; - компонентыToolStripMenuItem.Size = new Size(149, 22); - компонентыToolStripMenuItem.Text = "Компоненты"; - компонентыToolStripMenuItem.Click += компонентыToolStripMenuItem_Click; - // - // мороженоеToolStripMenuItem - // - мороженоеToolStripMenuItem.Name = "мороженоеToolStripMenuItem"; - мороженоеToolStripMenuItem.Size = new Size(149, 22); - мороженоеToolStripMenuItem.Text = "Мороженое"; - мороженоеToolStripMenuItem.Click += мороженоеToolStripMenuItem_Click; - // - // клиентыToolStripMenuItem - // - клиентыToolStripMenuItem.Name = "клиентыToolStripMenuItem"; - клиентыToolStripMenuItem.Size = new Size(149, 22); - клиентыToolStripMenuItem.Text = "Клиенты"; - клиентыToolStripMenuItem.Click += клиентыToolStripMenuItem_Click; - // - // ImplementersToolStripMenuItem - // - ImplementersToolStripMenuItem.Name = "ImplementersToolStripMenuItem"; - ImplementersToolStripMenuItem.Size = new Size(149, 22); - ImplementersToolStripMenuItem.Text = "Исполнители"; - ImplementersToolStripMenuItem.Click += ImplementersToolStripMenuItem_Click; - // - // отчетыToolStripMenuItem - // - отчетыToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { iceCreamComponentsToolStripMenuItem, iceCreamToolStripMenuItem, ordersToolStripMenuItem }); - отчетыToolStripMenuItem.Name = "отчетыToolStripMenuItem"; - отчетыToolStripMenuItem.Size = new Size(60, 20); - отчетыToolStripMenuItem.Text = "Отчеты"; - // - // iceCreamComponentsToolStripMenuItem - // - iceCreamComponentsToolStripMenuItem.Name = "iceCreamComponentsToolStripMenuItem"; - iceCreamComponentsToolStripMenuItem.Size = new Size(238, 22); - iceCreamComponentsToolStripMenuItem.Text = "Список мороженых"; - iceCreamComponentsToolStripMenuItem.Click += IceCreamsToolStripMenuItem_Click; - // - // iceCreamToolStripMenuItem - // - iceCreamToolStripMenuItem.Name = "iceCreamToolStripMenuItem"; - iceCreamToolStripMenuItem.Size = new Size(238, 22); - iceCreamToolStripMenuItem.Text = "Мороженые с компонентами"; - iceCreamToolStripMenuItem.Click += IceCreamComponentsToolStripMenuItem_Click; - // - // ordersToolStripMenuItem - // - ordersToolStripMenuItem.Name = "ordersToolStripMenuItem"; - ordersToolStripMenuItem.Size = new Size(238, 22); - ordersToolStripMenuItem.Text = "Список заказов"; - ordersToolStripMenuItem.Click += OrdersToolStripMenuItem_Click; - // - // DoWorkToolStripMenuItem - // - DoWorkToolStripMenuItem.Name = "DoWorkToolStripMenuItem"; - DoWorkToolStripMenuItem.Size = new Size(92, 20); - DoWorkToolStripMenuItem.Text = "Запуск работ"; - DoWorkToolStripMenuItem.Click += DoWorkToolStripMenuItem_Click; - // - // MailToolStripMenuItem - // - MailToolStripMenuItem.Name = "MailToolStripMenuItem"; - MailToolStripMenuItem.Size = new Size(62, 20); - MailToolStripMenuItem.Text = "Письма"; - MailToolStripMenuItem.Click += MailToolStripMenuItem_Click; - // - // createBackupToolStripMenuItem - // - createBackupToolStripMenuItem.Name = "createBackupToolStripMenuItem"; - createBackupToolStripMenuItem.Size = new Size(97, 20); - createBackupToolStripMenuItem.Text = "Создать бекап"; - createBackupToolStripMenuItem.Click += createBackupToolStripMenuItem_Click; - // - // FormMain - // - AutoScaleDimensions = new SizeF(7F, 15F); - AutoScaleMode = AutoScaleMode.Font; - ClientSize = new Size(1261, 347); - Controls.Add(buttonUpdate); - Controls.Add(buttonSetToFinish); - Controls.Add(buttonCreateOrder); - Controls.Add(dataGridView); - Controls.Add(menuStrip); - Name = "FormMain"; - Text = "Магазин мороженого"; - Load += FormMain_Load; - ((System.ComponentModel.ISupportInitialize)dataGridView).EndInit(); - menuStrip.ResumeLayout(false); - menuStrip.PerformLayout(); - ResumeLayout(false); - PerformLayout(); - } /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { - this.buttonUpdate = new System.Windows.Forms.Button(); - this.buttonSetToFinish = new System.Windows.Forms.Button(); - this.buttonCreateOrder = new System.Windows.Forms.Button(); - this.dataGridView = new System.Windows.Forms.DataGridView(); - this.menuStrip = new System.Windows.Forms.MenuStrip(); - this.справочникиToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.компонентыToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.мороженоеToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.клиентыToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.ImplementersToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.магазиныToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.отчетыToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.iceCreamComponentsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.iceCreamToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.ordersToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.listShopsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.shopWorkloadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.ordersByDateToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.DoWorkToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.buttonSupplyShop = new System.Windows.Forms.Button(); - this.SellIceCreamButton = new System.Windows.Forms.Button(); - ((System.ComponentModel.ISupportInitialize)(this.dataGridView)).BeginInit(); - this.menuStrip.SuspendLayout(); - this.SuspendLayout(); + buttonUpdate = new Button(); + buttonSetToFinish = new Button(); + buttonCreateOrder = new Button(); + dataGridView = new DataGridView(); + menuStrip = new MenuStrip(); + справочникиToolStripMenuItem = new ToolStripMenuItem(); + компонентыToolStripMenuItem = new ToolStripMenuItem(); + мороженоеToolStripMenuItem = new ToolStripMenuItem(); + клиентыToolStripMenuItem = new ToolStripMenuItem(); + ImplementersToolStripMenuItem = new ToolStripMenuItem(); + магазиныToolStripMenuItem = new ToolStripMenuItem(); + отчетыToolStripMenuItem = new ToolStripMenuItem(); + iceCreamComponentsToolStripMenuItem = new ToolStripMenuItem(); + iceCreamToolStripMenuItem = new ToolStripMenuItem(); + ordersToolStripMenuItem = new ToolStripMenuItem(); + listShopsToolStripMenuItem = new ToolStripMenuItem(); + shopWorkloadToolStripMenuItem = new ToolStripMenuItem(); + ordersByDateToolStripMenuItem = new ToolStripMenuItem(); + DoWorkToolStripMenuItem = new ToolStripMenuItem(); + MailToolStripMenuItem = new ToolStripMenuItem(); + createBackupToolStripMenuItem = new ToolStripMenuItem(); + buttonSupplyShop = new Button(); + SellIceCreamButton = new Button(); + ((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit(); + menuStrip.SuspendLayout(); + SuspendLayout(); // // buttonUpdate // - this.buttonUpdate.Location = new System.Drawing.Point(1231, 392); - this.buttonUpdate.Name = "buttonUpdate"; - this.buttonUpdate.Size = new System.Drawing.Size(194, 49); - this.buttonUpdate.TabIndex = 13; - this.buttonUpdate.Text = "Обновить"; - this.buttonUpdate.UseVisualStyleBackColor = true; - this.buttonUpdate.Click += new System.EventHandler(this.buttonUpdate_Click); + buttonUpdate.Location = new Point(1081, 112); + buttonUpdate.Margin = new Padding(3, 2, 3, 2); + buttonUpdate.Name = "buttonUpdate"; + buttonUpdate.Size = new Size(170, 37); + buttonUpdate.TabIndex = 13; + buttonUpdate.Text = "Обновить"; + buttonUpdate.UseVisualStyleBackColor = true; + buttonUpdate.Click += buttonUpdate_Click; // // buttonSetToFinish // - this.buttonSetToFinish.Location = new System.Drawing.Point(1231, 90); - this.buttonSetToFinish.Name = "buttonSetToFinish"; - this.buttonSetToFinish.Size = new System.Drawing.Size(194, 49); - this.buttonSetToFinish.TabIndex = 12; - this.buttonSetToFinish.Text = "Заказ выдан"; - this.buttonSetToFinish.UseVisualStyleBackColor = true; - this.buttonSetToFinish.Click += new System.EventHandler(this.buttonSetToFinish_Click); + buttonSetToFinish.Location = new Point(1081, 70); + buttonSetToFinish.Margin = new Padding(3, 2, 3, 2); + buttonSetToFinish.Name = "buttonSetToFinish"; + buttonSetToFinish.Size = new Size(170, 37); + buttonSetToFinish.TabIndex = 12; + buttonSetToFinish.Text = "Заказ выдан"; + buttonSetToFinish.UseVisualStyleBackColor = true; + buttonSetToFinish.Click += buttonSetToFinish_Click; // // buttonCreateOrder // - this.buttonCreateOrder.Location = new System.Drawing.Point(1231, 35); - this.buttonCreateOrder.Name = "buttonCreateOrder"; - this.buttonCreateOrder.Size = new System.Drawing.Size(194, 49); - this.buttonCreateOrder.TabIndex = 9; - this.buttonCreateOrder.Text = "Создать заказ"; - this.buttonCreateOrder.UseVisualStyleBackColor = true; - this.buttonCreateOrder.Click += new System.EventHandler(this.buttonCreateOrder_Click); + buttonCreateOrder.Location = new Point(1081, 29); + buttonCreateOrder.Margin = new Padding(3, 2, 3, 2); + buttonCreateOrder.Name = "buttonCreateOrder"; + buttonCreateOrder.Size = new Size(170, 37); + buttonCreateOrder.TabIndex = 9; + buttonCreateOrder.Text = "Создать заказ"; + buttonCreateOrder.UseVisualStyleBackColor = true; + buttonCreateOrder.Click += buttonCreateOrder_Click; // // dataGridView // - this.dataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; - this.dataGridView.Location = new System.Drawing.Point(14, 35); - this.dataGridView.Name = "dataGridView"; - this.dataGridView.RowHeadersWidth = 51; - this.dataGridView.RowTemplate.Height = 29; - this.dataGridView.Size = new System.Drawing.Size(1202, 407); - this.dataGridView.TabIndex = 8; + dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dataGridView.Location = new Point(12, 26); + dataGridView.Margin = new Padding(3, 2, 3, 2); + dataGridView.Name = "dataGridView"; + dataGridView.RowHeadersWidth = 51; + dataGridView.RowTemplate.Height = 29; + dataGridView.Size = new Size(1063, 305); + dataGridView.TabIndex = 8; // // menuStrip // - this.menuStrip.ImageScalingSize = new System.Drawing.Size(20, 20); - this.menuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.справочникиToolStripMenuItem, - this.отчетыToolStripMenuItem, - this.DoWorkToolStripMenuItem}); - this.menuStrip.Location = new System.Drawing.Point(0, 0); - this.menuStrip.Name = "menuStrip"; - this.menuStrip.Padding = new System.Windows.Forms.Padding(6, 3, 0, 3); - this.menuStrip.Size = new System.Drawing.Size(1433, 30); - this.menuStrip.TabIndex = 7; - this.menuStrip.Text = "Справочники"; + menuStrip.ImageScalingSize = new Size(20, 20); + menuStrip.Items.AddRange(new ToolStripItem[] { справочникиToolStripMenuItem, отчетыToolStripMenuItem, DoWorkToolStripMenuItem, MailToolStripMenuItem, createBackupToolStripMenuItem }); + menuStrip.Location = new Point(0, 0); + menuStrip.Name = "menuStrip"; + menuStrip.Padding = new Padding(5, 2, 0, 2); + menuStrip.Size = new Size(1261, 24); + menuStrip.TabIndex = 7; + menuStrip.Text = "Справочники"; // // справочникиToolStripMenuItem // - this.справочникиToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.компонентыToolStripMenuItem, - this.мороженоеToolStripMenuItem, - this.клиентыToolStripMenuItem, - this.ImplementersToolStripMenuItem, - this.магазиныToolStripMenuItem}); - this.справочникиToolStripMenuItem.Name = "справочникиToolStripMenuItem"; - this.справочникиToolStripMenuItem.Size = new System.Drawing.Size(117, 24); - this.справочникиToolStripMenuItem.Text = "Справочники"; + справочникиToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { компонентыToolStripMenuItem, мороженоеToolStripMenuItem, клиентыToolStripMenuItem, ImplementersToolStripMenuItem, магазиныToolStripMenuItem }); + справочникиToolStripMenuItem.Name = "справочникиToolStripMenuItem"; + справочникиToolStripMenuItem.Size = new Size(94, 20); + справочникиToolStripMenuItem.Text = "Справочники"; // // компонентыToolStripMenuItem // - this.компонентыToolStripMenuItem.Name = "компонентыToolStripMenuItem"; - this.компонентыToolStripMenuItem.Size = new System.Drawing.Size(185, 26); - this.компонентыToolStripMenuItem.Text = "Компоненты"; - this.компонентыToolStripMenuItem.Click += new System.EventHandler(this.компонентыToolStripMenuItem_Click); + компонентыToolStripMenuItem.Name = "компонентыToolStripMenuItem"; + компонентыToolStripMenuItem.Size = new Size(149, 22); + компонентыToolStripMenuItem.Text = "Компоненты"; + компонентыToolStripMenuItem.Click += компонентыToolStripMenuItem_Click; // // мороженоеToolStripMenuItem // - this.мороженоеToolStripMenuItem.Name = "мороженоеToolStripMenuItem"; - this.мороженоеToolStripMenuItem.Size = new System.Drawing.Size(185, 26); - this.мороженоеToolStripMenuItem.Text = "Мороженое"; - this.мороженоеToolStripMenuItem.Click += new System.EventHandler(this.мороженоеToolStripMenuItem_Click); + мороженоеToolStripMenuItem.Name = "мороженоеToolStripMenuItem"; + мороженоеToolStripMenuItem.Size = new Size(149, 22); + мороженоеToolStripMenuItem.Text = "Мороженое"; + мороженоеToolStripMenuItem.Click += мороженоеToolStripMenuItem_Click; // // клиентыToolStripMenuItem // - this.клиентыToolStripMenuItem.Name = "клиентыToolStripMenuItem"; - this.клиентыToolStripMenuItem.Size = new System.Drawing.Size(185, 26); - this.клиентыToolStripMenuItem.Text = "Клиенты"; - this.клиентыToolStripMenuItem.Click += new System.EventHandler(this.клиентыToolStripMenuItem_Click); + клиентыToolStripMenuItem.Name = "клиентыToolStripMenuItem"; + клиентыToolStripMenuItem.Size = new Size(149, 22); + клиентыToolStripMenuItem.Text = "Клиенты"; + клиентыToolStripMenuItem.Click += клиентыToolStripMenuItem_Click; // // ImplementersToolStripMenuItem // - this.ImplementersToolStripMenuItem.Name = "ImplementersToolStripMenuItem"; - this.ImplementersToolStripMenuItem.Size = new System.Drawing.Size(185, 26); - this.ImplementersToolStripMenuItem.Text = "Исполнители"; - this.ImplementersToolStripMenuItem.Click += new System.EventHandler(this.ImplementersToolStripMenuItem_Click); + ImplementersToolStripMenuItem.Name = "ImplementersToolStripMenuItem"; + ImplementersToolStripMenuItem.Size = new Size(149, 22); + ImplementersToolStripMenuItem.Text = "Исполнители"; + ImplementersToolStripMenuItem.Click += ImplementersToolStripMenuItem_Click; // // магазиныToolStripMenuItem // - this.магазиныToolStripMenuItem.Name = "магазиныToolStripMenuItem"; - this.магазиныToolStripMenuItem.Size = new System.Drawing.Size(185, 26); - this.магазиныToolStripMenuItem.Text = "Магазины"; - this.магазиныToolStripMenuItem.Click += new System.EventHandler(this.магазиныToolStripMenuItem_Click); + магазиныToolStripMenuItem.Name = "магазиныToolStripMenuItem"; + магазиныToolStripMenuItem.Size = new Size(149, 22); + магазиныToolStripMenuItem.Text = "Магазины"; + магазиныToolStripMenuItem.Click += магазиныToolStripMenuItem_Click; // // отчетыToolStripMenuItem // - this.отчетыToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.iceCreamComponentsToolStripMenuItem, - this.iceCreamToolStripMenuItem, - this.ordersToolStripMenuItem, - this.listShopsToolStripMenuItem, - this.shopWorkloadToolStripMenuItem, - this.ordersByDateToolStripMenuItem}); - this.отчетыToolStripMenuItem.Name = "отчетыToolStripMenuItem"; - this.отчетыToolStripMenuItem.Size = new System.Drawing.Size(73, 24); - this.отчетыToolStripMenuItem.Text = "Отчеты"; + отчетыToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { iceCreamComponentsToolStripMenuItem, iceCreamToolStripMenuItem, ordersToolStripMenuItem, listShopsToolStripMenuItem, shopWorkloadToolStripMenuItem, ordersByDateToolStripMenuItem }); + отчетыToolStripMenuItem.Name = "отчетыToolStripMenuItem"; + отчетыToolStripMenuItem.Size = new Size(60, 20); + отчетыToolStripMenuItem.Text = "Отчеты"; // // iceCreamComponentsToolStripMenuItem // - this.iceCreamComponentsToolStripMenuItem.Name = "iceCreamComponentsToolStripMenuItem"; - this.iceCreamComponentsToolStripMenuItem.Size = new System.Drawing.Size(299, 26); - this.iceCreamComponentsToolStripMenuItem.Text = "Список мороженых"; - this.iceCreamComponentsToolStripMenuItem.Click += new System.EventHandler(this.IceCreamsToolStripMenuItem_Click); + iceCreamComponentsToolStripMenuItem.Name = "iceCreamComponentsToolStripMenuItem"; + iceCreamComponentsToolStripMenuItem.Size = new Size(238, 22); + iceCreamComponentsToolStripMenuItem.Text = "Список мороженых"; + iceCreamComponentsToolStripMenuItem.Click += IceCreamsToolStripMenuItem_Click; // // iceCreamToolStripMenuItem // - this.iceCreamToolStripMenuItem.Name = "iceCreamToolStripMenuItem"; - this.iceCreamToolStripMenuItem.Size = new System.Drawing.Size(299, 26); - this.iceCreamToolStripMenuItem.Text = "Мороженые с компонентами"; - this.iceCreamToolStripMenuItem.Click += new System.EventHandler(this.IceCreamComponentsToolStripMenuItem_Click); + iceCreamToolStripMenuItem.Name = "iceCreamToolStripMenuItem"; + iceCreamToolStripMenuItem.Size = new Size(238, 22); + iceCreamToolStripMenuItem.Text = "Мороженые с компонентами"; + iceCreamToolStripMenuItem.Click += IceCreamComponentsToolStripMenuItem_Click; // // ordersToolStripMenuItem // - this.ordersToolStripMenuItem.Name = "ordersToolStripMenuItem"; - this.ordersToolStripMenuItem.Size = new System.Drawing.Size(299, 26); - this.ordersToolStripMenuItem.Text = "Список заказов"; - this.ordersToolStripMenuItem.Click += new System.EventHandler(this.OrdersToolStripMenuItem_Click); + ordersToolStripMenuItem.Name = "ordersToolStripMenuItem"; + ordersToolStripMenuItem.Size = new Size(238, 22); + ordersToolStripMenuItem.Text = "Список заказов"; + ordersToolStripMenuItem.Click += OrdersToolStripMenuItem_Click; // // listShopsToolStripMenuItem // - this.listShopsToolStripMenuItem.Name = "listShopsToolStripMenuItem"; - this.listShopsToolStripMenuItem.Size = new System.Drawing.Size(299, 26); - this.listShopsToolStripMenuItem.Text = "Список магазинов"; - this.listShopsToolStripMenuItem.Click += new System.EventHandler(this.listShopsToolStripMenuItem_Click); + listShopsToolStripMenuItem.Name = "listShopsToolStripMenuItem"; + listShopsToolStripMenuItem.Size = new Size(238, 22); + listShopsToolStripMenuItem.Text = "Список магазинов"; + listShopsToolStripMenuItem.Click += listShopsToolStripMenuItem_Click; // // shopWorkloadToolStripMenuItem // - this.shopWorkloadToolStripMenuItem.Name = "shopWorkloadToolStripMenuItem"; - this.shopWorkloadToolStripMenuItem.Size = new System.Drawing.Size(299, 26); - this.shopWorkloadToolStripMenuItem.Text = "Загруженность магазинов"; - this.shopWorkloadToolStripMenuItem.Click += new System.EventHandler(this.shopWorkloadToolStripMenuItem_Click); + shopWorkloadToolStripMenuItem.Name = "shopWorkloadToolStripMenuItem"; + shopWorkloadToolStripMenuItem.Size = new Size(238, 22); + shopWorkloadToolStripMenuItem.Text = "Загруженность магазинов"; + shopWorkloadToolStripMenuItem.Click += shopWorkloadToolStripMenuItem_Click; // // ordersByDateToolStripMenuItem // - this.ordersByDateToolStripMenuItem.Name = "ordersByDateToolStripMenuItem"; - this.ordersByDateToolStripMenuItem.Size = new System.Drawing.Size(299, 26); - this.ordersByDateToolStripMenuItem.Text = "Заказы по дате"; - this.ordersByDateToolStripMenuItem.Click += new System.EventHandler(this.ordersByDateToolStripMenuItem_Click); + ordersByDateToolStripMenuItem.Name = "ordersByDateToolStripMenuItem"; + ordersByDateToolStripMenuItem.Size = new Size(238, 22); + ordersByDateToolStripMenuItem.Text = "Заказы по дате"; + ordersByDateToolStripMenuItem.Click += ordersByDateToolStripMenuItem_Click; // // DoWorkToolStripMenuItem // - this.DoWorkToolStripMenuItem.Name = "DoWorkToolStripMenuItem"; - this.DoWorkToolStripMenuItem.Size = new System.Drawing.Size(114, 24); - this.DoWorkToolStripMenuItem.Text = "Запуск работ"; - this.DoWorkToolStripMenuItem.Click += new System.EventHandler(this.DoWorkToolStripMenuItem_Click); + DoWorkToolStripMenuItem.Name = "DoWorkToolStripMenuItem"; + DoWorkToolStripMenuItem.Size = new Size(92, 20); + DoWorkToolStripMenuItem.Text = "Запуск работ"; + DoWorkToolStripMenuItem.Click += DoWorkToolStripMenuItem_Click; + // + // MailToolStripMenuItem + // + MailToolStripMenuItem.Name = "MailToolStripMenuItem"; + MailToolStripMenuItem.Size = new Size(62, 20); + MailToolStripMenuItem.Text = "Письма"; + MailToolStripMenuItem.Click += MailToolStripMenuItem_Click; + // + // createBackupToolStripMenuItem + // + createBackupToolStripMenuItem.Name = "createBackupToolStripMenuItem"; + createBackupToolStripMenuItem.Size = new Size(97, 20); + createBackupToolStripMenuItem.Text = "Создать бекап"; + createBackupToolStripMenuItem.Click += createBackupToolStripMenuItem_Click; // // buttonSupplyShop // - this.buttonSupplyShop.Location = new System.Drawing.Point(1231, 292); - this.buttonSupplyShop.Name = "buttonSupplyShop"; - this.buttonSupplyShop.Size = new System.Drawing.Size(194, 44); - this.buttonSupplyShop.TabIndex = 14; - this.buttonSupplyShop.Text = "Пополнение магазина"; - this.buttonSupplyShop.UseVisualStyleBackColor = true; - this.buttonSupplyShop.Click += new System.EventHandler(this.buttonSupplyShop_Click); + buttonSupplyShop.Location = new Point(1081, 243); + buttonSupplyShop.Margin = new Padding(3, 2, 3, 2); + buttonSupplyShop.Name = "buttonSupplyShop"; + buttonSupplyShop.Size = new Size(170, 37); + buttonSupplyShop.TabIndex = 14; + buttonSupplyShop.Text = "Пополнение магазина"; + buttonSupplyShop.UseVisualStyleBackColor = true; + buttonSupplyShop.Click += new System.EventHandler(this.buttonSupplyShop_Click); // // SellIceCreamButton // - this.SellIceCreamButton.Location = new System.Drawing.Point(1231, 248); - this.SellIceCreamButton.Name = "SellIceCreamButton"; - this.SellIceCreamButton.Size = new System.Drawing.Size(194, 40); - this.SellIceCreamButton.TabIndex = 15; - this.SellIceCreamButton.Text = "Продажа мороженого"; - this.SellIceCreamButton.UseVisualStyleBackColor = true; - this.SellIceCreamButton.Click += new System.EventHandler(this.SellIceCreamButton_Click); + SellIceCreamButton.Location = new Point(1081, 284); + SellIceCreamButton.Margin = new Padding(3, 2, 3, 2); + SellIceCreamButton.Name = "SellIceCreamButton"; + SellIceCreamButton.Size = new Size(170, 37); + SellIceCreamButton.TabIndex = 15; + SellIceCreamButton.Text = "Продажа мороженого"; + SellIceCreamButton.UseVisualStyleBackColor = true; + SellIceCreamButton.Click += new System.EventHandler(this.SellIceCreamButton_Click); // // FormMain // - this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(1433, 467); - this.Controls.Add(this.SellIceCreamButton); - this.Controls.Add(this.buttonSupplyShop); - this.Controls.Add(this.buttonUpdate); - this.Controls.Add(this.buttonSetToFinish); - this.Controls.Add(this.buttonCreateOrder); - this.Controls.Add(this.dataGridView); - this.Controls.Add(this.menuStrip); - this.Margin = new System.Windows.Forms.Padding(3, 5, 3, 5); - this.Name = "FormMain"; - this.Text = "Магазин мороженого"; - this.Load += new System.EventHandler(this.FormMain_Load); - ((System.ComponentModel.ISupportInitialize)(this.dataGridView)).EndInit(); - this.menuStrip.ResumeLayout(false); - this.menuStrip.PerformLayout(); - this.ResumeLayout(false); - this.PerformLayout(); - + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(1261, 347); + Controls.Add(SellIceCreamButton); + Controls.Add(buttonSupplyShop); + Controls.Add(buttonUpdate); + Controls.Add(buttonSetToFinish); + Controls.Add(buttonCreateOrder); + Controls.Add(dataGridView); + Controls.Add(menuStrip); + Name = "FormMain"; + Text = "Магазин мороженого"; + Load += FormMain_Load; + ((System.ComponentModel.ISupportInitialize)dataGridView).EndInit(); + menuStrip.ResumeLayout(false); + menuStrip.PerformLayout(); + ResumeLayout(false); + PerformLayout(); } - #endregion + #endregion - private Button buttonUpdate; - private Button buttonSetToFinish; - private Button buttonCreateOrder; - private DataGridView dataGridView; - private MenuStrip menuStrip; - private ToolStripMenuItem справочникиToolStripMenuItem; - private ToolStripMenuItem компонентыToolStripMenuItem; - private ToolStripMenuItem мороженоеToolStripMenuItem; - private ToolStripMenuItem отчетыToolStripMenuItem; - private ToolStripMenuItem iceCreamComponentsToolStripMenuItem; - private ToolStripMenuItem iceCreamToolStripMenuItem; - private ToolStripMenuItem ordersToolStripMenuItem; - private ToolStripMenuItem клиентыToolStripMenuItem; - private ToolStripMenuItem ImplementersToolStripMenuItem; - private ToolStripMenuItem DoWorkToolStripMenuItem; - private ToolStripMenuItem MailToolStripMenuItem; - private ToolStripMenuItem createBackupToolStripMenuItem; - } private Button buttonUpdate; private Button buttonSetToFinish; private Button buttonCreateOrder; @@ -480,11 +283,13 @@ private ToolStripMenuItem клиентыToolStripMenuItem; private ToolStripMenuItem ImplementersToolStripMenuItem; private ToolStripMenuItem DoWorkToolStripMenuItem; + private ToolStripMenuItem MailToolStripMenuItem; + private ToolStripMenuItem createBackupToolStripMenuItem; private ToolStripMenuItem магазиныToolStripMenuItem; - private Button buttonSupplyShop; - private Button SellIceCreamButton; private ToolStripMenuItem listShopsToolStripMenuItem; private ToolStripMenuItem shopWorkloadToolStripMenuItem; private ToolStripMenuItem ordersByDateToolStripMenuItem; + private Button buttonSupplyShop; + private Button SellIceCreamButton; } } \ No newline at end of file diff --git a/IceCreamShop/IceCreamShop/FormMain.cs b/IceCreamShop/IceCreamShop/FormMain.cs index 8d3b2cc..fdc71b4 100644 --- a/IceCreamShop/IceCreamShop/FormMain.cs +++ b/IceCreamShop/IceCreamShop/FormMain.cs @@ -1,225 +1,196 @@ -using AbstractIceCreamShopDataModels.Enums; -using ConfectioneryBusinessLogic; -using IceCreamBusinessLogic.BusinessLogics; -using IceCreamShop; +using IceCreamShop; using IceCreamShopContracts.BindingModels; using IceCreamShopContracts.BusinessLogicsContracts; using IceCreamShopContracts.DI; using Microsoft.Extensions.Logging; -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 IceCreamShopView { - public partial class FormMain : Form - { - private readonly ILogger _logger; - private readonly IOrderLogic _orderLogic; - private readonly IReportLogic _reportLogic; - private readonly IWorkProcess _workProcess; + public partial class FormMain : Form + { + private readonly ILogger _logger; + private readonly IOrderLogic _orderLogic; + private readonly IReportLogic _reportLogic; + private readonly IWorkProcess _workProcess; private readonly IBackUpLogic _backUpLogic; - public FormMain(ILogger logger, IOrderLogic orderLogic, IReportLogic reportLogic, IWorkProcess workProcess, IBackUpLogic backUpLogic) - { - InitializeComponent(); - _logger = logger; - _orderLogic = orderLogic; - _reportLogic = reportLogic; - _workProcess = workProcess; - _backUpLogic = backUpLogic; - } - private void FormMain_Load(object sender, EventArgs e) - { - LoadData(); - } - - private void LoadData() - { - _logger.LogInformation("Загрузка заказов"); - try - { - dataGridView.FillAndConfigGrid(_orderLogic.ReadList(null)); - _logger.LogInformation("Загрузка заказов"); - } - catch (Exception ex) - { - _logger.LogError(ex, "Ошибка загрузки заказов"); - MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); - } - } - - private void компонентыToolStripMenuItem_Click(object sender, EventArgs e) - { - var form = DependencyManager.Instance.Resolve(); - form.ShowDialog(); - } - - private void мороженоеToolStripMenuItem_Click(object sender, EventArgs e) - { - var form = DependencyManager.Instance.Resolve(); - form.ShowDialog(); - } - - private void buttonCreateOrder_Click(object sender, EventArgs e) - { - var form = DependencyManager.Instance.Resolve(); - form.ShowDialog(); - LoadData(); - } - private void магазиныToolStripMenuItem_Click(object sender, EventArgs e) + public FormMain(ILogger logger, IOrderLogic orderLogic, IReportLogic reportLogic, IWorkProcess workProcess, IBackUpLogic backUpLogic) { - var service = Program.ServiceProvider?.GetService(typeof(FormShops)); - if (service is FormShops form) + InitializeComponent(); + _logger = logger; + _orderLogic = orderLogic; + _reportLogic = reportLogic; + _workProcess = workProcess; + _backUpLogic = backUpLogic; + } + + private void FormMain_Load(object sender, EventArgs e) + { + LoadData(); + } + + private void LoadData() + { + _logger.LogInformation("Загрузка заказов"); + try { - form.ShowDialog(); + dataGridView.FillAndConfigGrid(_orderLogic.ReadList(null)); + _logger.LogInformation("Загрузка заказов"); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка загрузки заказов"); + MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } - private void buttonSetToWork_Click(object sender, EventArgs e) - { - if (dataGridView.SelectedRows.Count == 1) - { - int id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value); - _logger.LogInformation("Заказ №{id}. Меняется статус на 'В работе'", id); - try - { - var operationResult = _orderLogic.TakeOrderInWork(new OrderBindingModel - { - Id = id, - }); - if (!operationResult) - { - throw new Exception("Ошибка при сохранении. Дополнительная информация в логах."); - } - LoadData(); - } - catch (Exception ex) - { - _logger.LogError(ex, "Ошибка передачи заказа в работу"); - MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, - MessageBoxIcon.Error); - } - } - } + private void компонентыToolStripMenuItem_Click(object sender, EventArgs e) + { + var form = DependencyManager.Instance.Resolve(); + form.ShowDialog(); + } + + private void мороженоеToolStripMenuItem_Click(object sender, EventArgs e) + { + var form = DependencyManager.Instance.Resolve(); + form.ShowDialog(); + } - private void buttonSetToDone_Click(object sender, EventArgs e) - { - if (dataGridView.SelectedRows.Count == 1) - { - int id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value); - _logger.LogInformation("Заказ №{id}. Меняется статус на 'Готов'", id); - try - { - var operationResult = _orderLogic.DeliveryOrder(new OrderBindingModel - { - Id = id, - }); - if (!operationResult) - { - throw new Exception("Ошибка при сохранении. Дополнительная информация в логах."); - } - LoadData(); - } - catch (Exception ex) - { - _logger.LogError(ex, "Ошибка отметки о готовности заказа"); - MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); - } - } - } private void buttonCreateOrder_Click(object sender, EventArgs e) { - var service = Program.ServiceProvider?.GetService(typeof(FormCreateOrder)); - if (service is FormCreateOrder form) + var form = DependencyManager.Instance.Resolve(); + form.ShowDialog(); + LoadData(); + } + private void магазиныToolStripMenuItem_Click(object sender, EventArgs e) + { + var form = DependencyManager.Instance.Resolve(); + form.ShowDialog(); + } + + private void buttonSetToWork_Click(object sender, EventArgs e) + { + if (dataGridView.SelectedRows.Count == 1) { - form.ShowDialog(); - LoadData(); + int id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value); + _logger.LogInformation("Заказ №{id}. Меняется статус на 'В работе'", id); + try + { + var operationResult = _orderLogic.TakeOrderInWork(new OrderBindingModel + { + Id = id, + }); + if (!operationResult) + { + throw new Exception("Ошибка при сохранении. Дополнительная информация в логах."); + } + LoadData(); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка передачи заказа в работу"); + MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, + MessageBoxIcon.Error); + } } } - private void buttonSetToFinish_Click(object sender, EventArgs e) - { - if (dataGridView.SelectedRows.Count == 1) - { - int id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value); - _logger.LogInformation("Заказ №{id}. Меняется статус на 'Выдан'", id); - try - { - var operationResult = _orderLogic.FinishOrder(new OrderBindingModel - { - Id = id, - }); - if (!operationResult) - { - throw new Exception("Ошибка при сохранении. Дополнительная информация в логах."); - } - _logger.LogInformation("Заказ №{id} выдан", id); - LoadData(); - } - catch (Exception ex) - { - _logger.LogError(ex, "Ошибка отметки о выдачи заказа"); - MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); - } - } - } + private void buttonSetToDone_Click(object sender, EventArgs e) + { + if (dataGridView.SelectedRows.Count == 1) + { + int id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value); + _logger.LogInformation("Заказ №{id}. Меняется статус на 'Готов'", id); + try + { + var operationResult = _orderLogic.DeliveryOrder(new OrderBindingModel + { + Id = id, + }); + if (!operationResult) + { + throw new Exception("Ошибка при сохранении. Дополнительная информация в логах."); + } + LoadData(); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка отметки о готовности заказа"); + MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + } - private void buttonUpdate_Click(object sender, EventArgs e) - { - LoadData(); - } + private void buttonSetToFinish_Click(object sender, EventArgs e) + { + if (dataGridView.SelectedRows.Count == 1) + { + int id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value); + _logger.LogInformation("Заказ №{id}. Меняется статус на 'Выдан'", id); + try + { + var operationResult = _orderLogic.FinishOrder(new OrderBindingModel + { + Id = id, + }); + if (!operationResult) + { + throw new Exception("Ошибка при сохранении. Дополнительная информация в логах."); + } + _logger.LogInformation("Заказ №{id} выдан", id); + LoadData(); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка отметки о выдачи заказа"); + MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + } - private void IceCreamsToolStripMenuItem_Click(object sender, EventArgs e) - { - using var dialog = new SaveFileDialog { Filter = "docx|*.docx" }; - if (dialog.ShowDialog() == DialogResult.OK) - { - _reportLogic.SaveIceCreamsToWordFile(new ReportBindingModel { FileName = dialog.FileName }); - MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information); - } - } + private void buttonUpdate_Click(object sender, EventArgs e) + { + LoadData(); + } - private void IceCreamComponentsToolStripMenuItem_Click(object sender, EventArgs e) - { - var form = DependencyManager.Instance.Resolve(); - form.ShowDialog(); - } + private void IceCreamsToolStripMenuItem_Click(object sender, EventArgs e) + { + using var dialog = new SaveFileDialog { Filter = "docx|*.docx" }; + if (dialog.ShowDialog() == DialogResult.OK) + { + _reportLogic.SaveIceCreamsToWordFile(new ReportBindingModel { FileName = dialog.FileName }); + MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + } - private void OrdersToolStripMenuItem_Click(object sender, EventArgs e) - { - var form = DependencyManager.Instance.Resolve(); - form.ShowDialog(); - } + private void IceCreamComponentsToolStripMenuItem_Click(object sender, EventArgs e) + { + var form = DependencyManager.Instance.Resolve(); + form.ShowDialog(); + } + + private void OrdersToolStripMenuItem_Click(object sender, EventArgs e) + { + var form = DependencyManager.Instance.Resolve(); + form.ShowDialog(); + } + + private void клиентыToolStripMenuItem_Click(object sender, EventArgs e) + { + var form = DependencyManager.Instance.Resolve(); + form.ShowDialog(); + } - private void клиентыToolStripMenuItem_Click(object sender, EventArgs e) - { - var form = DependencyManager.Instance.Resolve(); - form.ShowDialog(); - } private void buttonSupplyShop_Click(object sender, EventArgs e) { - var service = Program.ServiceProvider?.GetService(typeof(FormShopSupply)); - if (service is FormShopSupply form) - { - form.ShowDialog(); - } + var form = DependencyManager.Instance.Resolve(); + form.ShowDialog(); } private void SellIceCreamButton_Click(object sender, EventArgs e) { - var service = Program.ServiceProvider?.GetService(typeof(FormSellIceCream)); - - if (service is FormSellIceCream form) - { - form.ShowDialog(); - } + var form = DependencyManager.Instance.Resolve(); + form.ShowDialog(); } private void listShopsToolStripMenuItem_Click(object sender, EventArgs e) @@ -237,75 +208,60 @@ namespace IceCreamShopView private void shopWorkloadToolStripMenuItem_Click(object sender, EventArgs e) { - var service = Program.ServiceProvider?.GetService(typeof(FormReportShopWorkload)); - if (service is FormReportShopWorkload form) - { - form.ShowDialog(); - } + var form = DependencyManager.Instance.Resolve(); + form.ShowDialog(); + } + + private void ImplementersToolStripMenuItem_Click(object sender, EventArgs e) + { + var form = DependencyManager.Instance.Resolve(); + form.ShowDialog(); } private void ordersByDateToolStripMenuItem_Click(object sender, EventArgs e) { - var service = Program.ServiceProvider?.GetService(typeof(FormReportDateOrders)); - if (service is FormReportDateOrders form) - { - form.ShowDialog(); - } + var form = DependencyManager.Instance.Resolve(); + form.ShowDialog(); } - private void клиентыToolStripMenuItem_Click(object sender, EventArgs e) + private void DoWorkToolStripMenuItem_Click(object sender, EventArgs e) { - var service = Program.ServiceProvider?.GetService(typeof(FormClients)); - if (service is FormClients form) - { - form.ShowDialog(); - } + _workProcess.DoWork( + DependencyManager.Instance.Resolve(), + _orderLogic); + MessageBox.Show("Процесс обработки запущен", "Сообщение", + MessageBoxButtons.OK, MessageBoxIcon.Information); } - private void ImplementersToolStripMenuItem_Click(object sender, EventArgs e) - { - var form = DependencyManager.Instance.Resolve(); - form.ShowDialog(); - } + private void MailToolStripMenuItem_Click(object sender, EventArgs e) + { + var form = DependencyManager.Instance.Resolve(); + form.ShowDialog(); + } - private void DoWorkToolStripMenuItem_Click(object sender, EventArgs e) - { - _workProcess.DoWork( - DependencyManager.Instance.Resolve(), - _orderLogic); - MessageBox.Show("Процесс обработки запущен", "Сообщение", - MessageBoxButtons.OK, MessageBoxIcon.Information); - } - - private void MailToolStripMenuItem_Click(object sender, EventArgs e) - { - var form = DependencyManager.Instance.Resolve(); - form.ShowDialog(); - } - - private void createBackupToolStripMenuItem_Click(object sender, EventArgs e) - { - try - { - if (_backUpLogic != null) - { - var fbd = new FolderBrowserDialog(); - if (fbd.ShowDialog() == DialogResult.OK) - { - _backUpLogic.CreateBackUp(new BackUpSaveBinidngModel - { - FolderName = fbd.SelectedPath - }); - MessageBox.Show("Бекап создан", "Сообщение", - MessageBoxButtons.OK, MessageBoxIcon.Information); - } - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, - MessageBoxIcon.Error); - } - } - } + private void createBackupToolStripMenuItem_Click(object sender, EventArgs e) + { + try + { + if (_backUpLogic != null) + { + var fbd = new FolderBrowserDialog(); + if (fbd.ShowDialog() == DialogResult.OK) + { + _backUpLogic.CreateBackUp(new BackUpSaveBinidngModel + { + FolderName = fbd.SelectedPath + }); + MessageBox.Show("Бекап создан", "Сообщение", + MessageBoxButtons.OK, MessageBoxIcon.Information); + } + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, + MessageBoxIcon.Error); + } + } + } } diff --git a/IceCreamShop/IceCreamShop/FormShops.cs b/IceCreamShop/IceCreamShop/FormShops.cs index 8560cca..ed135be 100644 --- a/IceCreamShop/IceCreamShop/FormShops.cs +++ b/IceCreamShop/IceCreamShop/FormShops.cs @@ -11,6 +11,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; +using IceCreamShopContracts.DI; namespace IceCreamShopView { @@ -33,36 +34,23 @@ namespace IceCreamShopView { try { - var list = _logic.ReadList(null); - - if (list != null) - { - dataGridView.DataSource = list; - dataGridView.Columns["Id"].Visible = false; - dataGridView.Columns["Name"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; - dataGridView.Columns["ShopIceCreams"].Visible = false; - } - + dataGridView.FillAndConfigGrid(_logic.ReadList(null)); _logger.LogInformation("Загрузка магазинов"); - } catch (Exception ex) { _logger.LogError(ex, "Ошибка загрузки магазинов"); - MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, + MessageBoxIcon.Error); } } private void buttonAdd_Click(object sender, EventArgs e) { - var service = Program.ServiceProvider?.GetService(typeof(FormShop)); - - if (service is FormShop form) + var form = DependencyManager.Instance.Resolve(); + if (form.ShowDialog() == DialogResult.OK) { - if (form.ShowDialog() == DialogResult.OK) - { - LoadData(); - } + LoadData(); } } @@ -70,12 +58,10 @@ namespace IceCreamShopView { if (dataGridView.SelectedRows.Count == 1) { - var service = Program.ServiceProvider?.GetService(typeof(FormShop)); - + var service = DependencyManager.Instance.Resolve(); if (service is FormShop form) { form.Id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value); - if (form.ShowDialog() == DialogResult.OK) { LoadData(); @@ -88,11 +74,12 @@ namespace IceCreamShopView { if (dataGridView.SelectedRows.Count == 1) { - if (MessageBox.Show("Удалить магазин?", "Вопрос", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) + if (MessageBox.Show("Удалить запись?", "Вопрос", + MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { - int id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value); + int id = + Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value); _logger.LogInformation("Удаление магазина"); - try { if (!_logic.Delete(new ShopBindingModel @@ -102,13 +89,13 @@ namespace IceCreamShopView { throw new Exception("Ошибка при удалении. Дополнительная информация в логах."); } - LoadData(); } catch (Exception ex) { - _logger.LogError(ex, "Ошибка удаления изделия"); - MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + _logger.LogError(ex, "Ошибка удаления магазина"); + MessageBox.Show(ex.Message, "Ошибка", + MessageBoxButtons.OK, MessageBoxIcon.Error); } } } diff --git a/IceCreamShop/IceCreamShop/FormViewMail.cs b/IceCreamShop/IceCreamShop/FormViewMail.cs index 132a34c..f694950 100644 --- a/IceCreamShop/IceCreamShop/FormViewMail.cs +++ b/IceCreamShop/IceCreamShop/FormViewMail.cs @@ -1,5 +1,6 @@ using IceCreamShop; using IceCreamShopContracts.BusinessLogicsContracts; +using IceCreamShopContracts.DI; using IceCreamShopContracts.ViewModels; using Microsoft.Extensions.Logging; @@ -27,21 +28,25 @@ namespace IceCreamShopView private bool MailLoad() { - try - { - dataGridView.FillAndConfigGrid(_logic.ReadList(null)); - _logger.LogInformation("Загрузка списка писем"); - labelInfoPages.Text = $"{currentPage} страница"; - return true; - } - catch (Exception ex) - { - _logger.LogError(ex, "Ошибка загрузки писем"); - MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, - MessageBoxIcon.Error); - return false; - } - } + try + { + dataGridView.FillAndConfigGrid(_logic.ReadList(new() + { + Page = currentPage, + PageSize = pageSize, + })); + _logger.LogInformation("Загрузка списка писем"); + labelInfoPages.Text = $"{currentPage} страница"; + return true; + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка загрузки писем"); + MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, + MessageBoxIcon.Error); + return false; + } + } private void ButtonPrevPage_Click(object sender, EventArgs e) { @@ -75,13 +80,10 @@ namespace IceCreamShopView private void dataGridView_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { - var service = Program.ServiceProvider?.GetService(typeof(FormReplyMail)); - if (service is FormReplyMail form) - { - form.MessageId = (string)dataGridView.Rows[e.RowIndex].Cells["MessageId"].Value; - form.ShowDialog(); - MailLoad(); - } - } + var form = DependencyManager.Instance.Resolve(); + form.MessageId = (string)dataGridView.Rows[e.RowIndex].Cells["MessageId"].Value; + form.ShowDialog(); + MailLoad(); + } } } diff --git a/IceCreamShop/IceCreamShop/Program.cs b/IceCreamShop/IceCreamShop/Program.cs index 0dbbe76..ab4e73d 100644 --- a/IceCreamShop/IceCreamShop/Program.cs +++ b/IceCreamShop/IceCreamShop/Program.cs @@ -58,37 +58,29 @@ namespace IceCreamShop { option.SetMinimumLevel(LogLevel.Information); option.AddNLog("nlog.config"); - }); + }); - DependencyManager.Instance.RegisterType(); - DependencyManager.Instance.RegisterType(); - DependencyManager.Instance.RegisterType(); - DependencyManager.Instance.RegisterType(); - DependencyManager.Instance.RegisterType(); - DependencyManager.Instance.RegisterType(); - DependencyManager.Instance.RegisterType(); - DependencyManager.Instance.RegisterType(); - - DependencyManager.Instance.RegisterType(); - - DependencyManager.Instance.RegisterType(); - DependencyManager.Instance.RegisterType(); - DependencyManager.Instance.RegisterType(); - - DependencyManager.Instance.RegisterType(); - DependencyManager.Instance.RegisterType(); - DependencyManager.Instance.RegisterType(); - DependencyManager.Instance.RegisterType(); - DependencyManager.Instance.RegisterType(); - DependencyManager.Instance.RegisterType(); - DependencyManager.Instance.RegisterType(); - DependencyManager.Instance.RegisterType(); - DependencyManager.Instance.RegisterType(); - DependencyManager.Instance.RegisterType(); - DependencyManager.Instance.RegisterType(); - DependencyManager.Instance.RegisterType(); - DependencyManager.Instance.RegisterType(); - } - private static void MailCheck(object obj) => DependencyManager.Instance.Resolve()?.MailCheck(); + DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); + } + private static void MailCheck(object obj) => DependencyManager.Instance.Resolve()?.MailCheck(); } } \ No newline at end of file diff --git a/IceCreamShop/IceCreamShopContracts/Attributes/ColumnAttribute.cs b/IceCreamShop/IceCreamShopContracts/Attributes/ColumnAttribute.cs index d2feaa8..8a236c0 100644 --- a/IceCreamShop/IceCreamShopContracts/Attributes/ColumnAttribute.cs +++ b/IceCreamShop/IceCreamShopContracts/Attributes/ColumnAttribute.cs @@ -13,13 +13,16 @@ public bool IsUseAutoSize { get; private set; } - public ColumnAttribute(string title = "", bool visible = true, int width = 0, GridViewAutoSize gridViewAutoSize = GridViewAutoSize.None, bool isUseAutoSize = false) + public string Format { get; private set; } + + public ColumnAttribute(string title = "", bool visible = true, int width = 0, GridViewAutoSize gridViewAutoSize = GridViewAutoSize.None, bool isUseAutoSize = false, string format = "") { Title = title; Visible = visible; Width = width; GridViewAutoSize = gridViewAutoSize; IsUseAutoSize = isUseAutoSize; + Format = format; } } } diff --git a/IceCreamShop/IceCreamShopContracts/BindingModels/MessageInfoBindingModel.cs b/IceCreamShop/IceCreamShopContracts/BindingModels/MessageInfoBindingModel.cs index b8a7e4b..fd620b9 100644 --- a/IceCreamShop/IceCreamShopContracts/BindingModels/MessageInfoBindingModel.cs +++ b/IceCreamShop/IceCreamShopContracts/BindingModels/MessageInfoBindingModel.cs @@ -16,11 +16,10 @@ namespace IceCreamShopContracts.BindingModels public DateTime DateDelivery { get; set; } - public int Id => throw new NotImplementedException(); - } + public bool HasRead { get; set; } - public bool HasRead { get; set; } + public string? Reply { get; set; } - public string? Reply { get; set; } + public int Id => throw new NotImplementedException(); } } \ No newline at end of file diff --git a/IceCreamShop/IceCreamShopContracts/DI/DependencyManager.cs b/IceCreamShop/IceCreamShopContracts/DI/DependencyManager.cs index 93cda26..9d371b5 100644 --- a/IceCreamShop/IceCreamShopContracts/DI/DependencyManager.cs +++ b/IceCreamShop/IceCreamShopContracts/DI/DependencyManager.cs @@ -22,13 +22,16 @@ namespace IceCreamShopContracts.DI /// public static void InitDependency() { - var ext = ServiceProviderLoader.GetImplementationExtensions(); - if (ext == null) + var extList = ServiceProviderLoader.GetImplementationExtensions(); + foreach (var ext in extList) { - throw new ArgumentNullException("Отсутствуют компоненты для загрузки зависимостей по модулям"); + if (ext == null) + { + throw new ArgumentNullException("Отсутствуют компоненты для загрузки зависимостей по модулям"); + } + // регистрируем зависимости + ext.RegisterServices(); } - // регистрируем зависимости - ext.RegisterServices(); } /// diff --git a/IceCreamShop/IceCreamShopContracts/DI/IImplementationBusinessLogicExtension.cs b/IceCreamShop/IceCreamShopContracts/DI/IImplementationBusinessLogicExtension.cs new file mode 100644 index 0000000..b6b1133 --- /dev/null +++ b/IceCreamShop/IceCreamShopContracts/DI/IImplementationBusinessLogicExtension.cs @@ -0,0 +1,9 @@ + +namespace IceCreamShopContracts.DI +{ + /// + /// Интерфейс для индентификации и отделения загрузки бизнес-логики от загрузки хранилищ + /// + /// + public interface IImplementationBusinessLogicExtension : IImplementationExtension { } +} diff --git a/IceCreamShop/IceCreamShopContracts/DI/ServiceProviderLoader.cs b/IceCreamShop/IceCreamShopContracts/DI/ServiceProviderLoader.cs index e09cd8a..8353566 100644 --- a/IceCreamShop/IceCreamShopContracts/DI/ServiceProviderLoader.cs +++ b/IceCreamShop/IceCreamShopContracts/DI/ServiceProviderLoader.cs @@ -8,33 +8,41 @@ namespace IceCreamShopContracts.DI /// Загрузка всех классов-реализаций IImplementationExtension /// /// - public static IImplementationExtension? GetImplementationExtensions() + public static List GetImplementationExtensions() { - IImplementationExtension? source = null; + Type[] handledTypes = + { + typeof(IImplementationBusinessLogicExtension), + typeof(IImplementationExtension) + }; + var result = handledTypes.Select(x => (IImplementationExtension?)null).ToList(); var files = Directory.GetFiles(TryGetImplementationExtensionsFolder(), "*.dll", SearchOption.AllDirectories); foreach (var file in files.Distinct()) { Assembly asm = Assembly.LoadFrom(file); foreach (var t in asm.GetExportedTypes()) { - if (t.IsClass && typeof(IImplementationExtension).IsAssignableFrom(t)) + for (var i = 0; i < handledTypes.Length; i++) { - if (source == null) + if (t.IsClass && handledTypes[i].IsAssignableFrom(t)) { - source = (IImplementationExtension)Activator.CreateInstance(t)!; - } - else - { - var newSource = (IImplementationExtension)Activator.CreateInstance(t)!; - if (newSource.Priority > source.Priority) + if (result[i] == null) { - source = newSource; + result[i] = (IImplementationExtension)Activator.CreateInstance(t)!; + } + else + { + var newSource = (IImplementationExtension)Activator.CreateInstance(t)!; + if (newSource.Priority > result[i].Priority) + { + result[i] = newSource; + } } } } } } - return source; + return result; } private static string TryGetImplementationExtensionsFolder() diff --git a/IceCreamShop/IceCreamShopContracts/ViewModels/ComponentViewModel.cs b/IceCreamShop/IceCreamShopContracts/ViewModels/ComponentViewModel.cs index d577aa7..7f36499 100644 --- a/IceCreamShop/IceCreamShopContracts/ViewModels/ComponentViewModel.cs +++ b/IceCreamShop/IceCreamShopContracts/ViewModels/ComponentViewModel.cs @@ -17,8 +17,8 @@ namespace IceCreamShopContracts.ViewModels [Column("Название компонента", gridViewAutoSize: GridViewAutoSize.Fill, isUseAutoSize: true)] public string ComponentName { get; set; } = string.Empty; - [Column("Цена", width: 80)] - public double Cost { get; set; } + [Column("Цена", width: 80, format: "0.00")] + public double Cost { get; set; } } } diff --git a/IceCreamShop/IceCreamShopContracts/ViewModels/IceCreamViewModel.cs b/IceCreamShop/IceCreamShopContracts/ViewModels/IceCreamViewModel.cs index 8e98dcf..11bb2ae 100644 --- a/IceCreamShop/IceCreamShopContracts/ViewModels/IceCreamViewModel.cs +++ b/IceCreamShop/IceCreamShopContracts/ViewModels/IceCreamViewModel.cs @@ -17,8 +17,8 @@ namespace IceCreamShopContracts.ViewModels [Column("Название мороженого", gridViewAutoSize: GridViewAutoSize.Fill, isUseAutoSize: true)] public string IceCreamName { get; set; } = string.Empty; - [Column("Цена", width: 100)] - public double Price { get; set; } + [Column("Цена", width: 100, format: "0.00")] + public double Price { get; set; } [Column(visible: false)] public Dictionary IceCreamComponents { get; set; } = new(); diff --git a/IceCreamShop/IceCreamShopContracts/ViewModels/MessageInfoViewModel.cs b/IceCreamShop/IceCreamShopContracts/ViewModels/MessageInfoViewModel.cs index 3356f8c..abfa257 100644 --- a/IceCreamShop/IceCreamShopContracts/ViewModels/MessageInfoViewModel.cs +++ b/IceCreamShop/IceCreamShopContracts/ViewModels/MessageInfoViewModel.cs @@ -5,34 +5,32 @@ namespace IceCreamShopContracts.ViewModels { public class MessageInfoViewModel : IMessageInfoModel { - [Column(visible: false)] - public string MessageId { get; set; } = string.Empty; + [Column(visible: false)] + public string MessageId { get; set; } = string.Empty; - [Column(visible: false)] - public int? ClientId { get; set; } + [Column(visible: false)] + public int? ClientId { get; set; } - [Column("Отправитель", gridViewAutoSize: GridViewAutoSize.DisplayedCells, isUseAutoSize: true)] - public string SenderName { get; set; } = string.Empty; + [Column("Отправитель", gridViewAutoSize: GridViewAutoSize.DisplayedCells, isUseAutoSize: true)] + public string SenderName { get; set; } = string.Empty; - [Column("Дата письма", width: 100)] - public DateTime DateDelivery { get; set; } + [Column("Дата письма", width: 100, format: "D")] + public DateTime DateDelivery { get; set; } - [Column("Заголовок", width: 150)] - public string Subject { get; set; } = string.Empty; + [Column("Заголовок", width: 150)] + public string Subject { get; set; } = string.Empty; - [Column("Текст", gridViewAutoSize: GridViewAutoSize.Fill, isUseAutoSize: true)] - public string Body { get; set; } = string.Empty; - - [Column(visible: false)] - public int Id => throw new NotImplementedException(); - } - [DisplayName("Текст")] + [Column("Текст", gridViewAutoSize: GridViewAutoSize.Fill, isUseAutoSize: true)] public string Body { get; set; } = string.Empty; - [DisplayName("Прочитано")] - public bool HasRead { get; set; } + [Column(visible: false)] - [DisplayName("Ответ")] - public string? Reply { get; set; } - } + public int Id => throw new NotImplementedException(); + + [Column("Прочитано", gridViewAutoSize: GridViewAutoSize.AllCellsExceptHeader, isUseAutoSize: true)] + public bool HasRead { get; set; } + + [Column("Ответ", gridViewAutoSize: GridViewAutoSize.Fill, isUseAutoSize: true)] + public string? Reply { get; set; } + } } \ No newline at end of file diff --git a/IceCreamShop/IceCreamShopContracts/ViewModels/OrderViewModel.cs b/IceCreamShop/IceCreamShopContracts/ViewModels/OrderViewModel.cs index a173759..223155c 100644 --- a/IceCreamShop/IceCreamShopContracts/ViewModels/OrderViewModel.cs +++ b/IceCreamShop/IceCreamShopContracts/ViewModels/OrderViewModel.cs @@ -42,10 +42,10 @@ namespace IceCreamShopContracts.ViewModels [Column("Статус", gridViewAutoSize: GridViewAutoSize.AllCells, isUseAutoSize: true)] public OrderStatus Status { get; set; } = OrderStatus.Неизвестен; - [Column("Дата создания", width: 100)] - public DateTime DateCreate { get; set; } = DateTime.Now; + [Column("Дата создания", width: 100, format: "D")] + public DateTime DateCreate { get; set; } = DateTime.Now; - [Column("Дата выполнения", width: 100)] - public DateTime? DateImplement { get; set; } + [Column("Дата выполнения", width: 100, format: "D")] + public DateTime? DateImplement { get; set; } } } diff --git a/IceCreamShop/IceCreamShopContracts/ViewModels/ShopViewModel.cs b/IceCreamShop/IceCreamShopContracts/ViewModels/ShopViewModel.cs index f49e717..c5d3c19 100644 --- a/IceCreamShop/IceCreamShopContracts/ViewModels/ShopViewModel.cs +++ b/IceCreamShop/IceCreamShopContracts/ViewModels/ShopViewModel.cs @@ -1,4 +1,6 @@ using AbstractIceCreamShopDataModels.Models; +using IceCreamShopContracts.Attributes; +using IceCreamShopContracts.Attributes; using System; using System.Collections.Generic; using System.ComponentModel; @@ -10,14 +12,19 @@ namespace IceCreamShopContracts.ViewModels { public class ShopViewModel : IShopModel { + [Column(visible: false)] public int Id { get; set; } - [DisplayName("Название магазина")] + + [Column("Название магазина", gridViewAutoSize: GridViewAutoSize.AllCells, isUseAutoSize: true)] public string Name { get; set; } = string.Empty; - [DisplayName("Адрес")] + + [Column("Адрес", gridViewAutoSize: GridViewAutoSize.Fill, isUseAutoSize: true)] public string Adress { get; set; } = string.Empty; - [DisplayName("Дата открытия")] + + [Column("Дата открытия", gridViewAutoSize: GridViewAutoSize.AllCells, isUseAutoSize: true, format: "f")] public DateTime OpeningDate { get; set; } - [DisplayName("Вместимость магазина")] + + [Column("Вместимость магазина", gridViewAutoSize: GridViewAutoSize.DisplayedCells, isUseAutoSize: true)] public int IceCreamMaxCount { get; set; } public Dictionary ShopIceCreams { get; set; } = new(); diff --git a/IceCreamShop/IceCreamShopDatabaseImplement/Models/MessageInfo.cs b/IceCreamShop/IceCreamShopDatabaseImplement/Models/MessageInfo.cs index 3ac9709..14fccc0 100644 --- a/IceCreamShop/IceCreamShopDatabaseImplement/Models/MessageInfo.cs +++ b/IceCreamShop/IceCreamShopDatabaseImplement/Models/MessageInfo.cs @@ -13,21 +13,29 @@ namespace IceCreamShopDatabaseImplement.Models [DataMember] public string MessageId { get; private set; } = string.Empty; + [DataMember] public int? ClientId { get; private set; } + [DataMember] public string SenderName { get; private set; } = string.Empty; + [DataMember] public DateTime DateDelivery { get; private set; } = DateTime.Now; + [DataMember] public string Subject { get; private set; } = string.Empty; + [DataMember] public string Body { get; private set; } = string.Empty; + [DataMember] public Client? Client { get; private set; } - public bool HasRead { get; private set; } + [DataMember] + public bool HasRead { get; private set; } - public string? Reply { get; private set; } + [DataMember] + public string? Reply { get; private set; } public static MessageInfo? Create(MessageInfoBindingModel model) { @@ -61,6 +69,8 @@ namespace IceCreamShopDatabaseImplement.Models public MessageInfoViewModel GetViewModel => new() { Body = Body, + Reply = Reply, + HasRead = HasRead, Subject = Subject, ClientId = ClientId, MessageId = MessageId, @@ -70,14 +80,4 @@ namespace IceCreamShopDatabaseImplement.Models public int Id => throw new NotImplementedException(); } - Body = Body, - Reply = Reply, - HasRead = HasRead, - Subject = Subject, - ClientId = ClientId, - MessageId = MessageId, - SenderName = SenderName, - DateDelivery = DateDelivery, - }; - } } diff --git a/IceCreamShop/IceCreamShopFileImplement/FileImplementationExtension.cs b/IceCreamShop/IceCreamShopFileImplement/FileImplementationExtension.cs index c177c3a..87d48b8 100644 --- a/IceCreamShop/IceCreamShopFileImplement/FileImplementationExtension.cs +++ b/IceCreamShop/IceCreamShopFileImplement/FileImplementationExtension.cs @@ -16,6 +16,7 @@ namespace IceCreamShopFileImplement DependencyManager.Instance.RegisterType(); DependencyManager.Instance.RegisterType(); DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); DependencyManager.Instance.RegisterType(); } } diff --git a/IceCreamShop/IceCreamShopFileImplement/Models/MessageInfo.cs b/IceCreamShop/IceCreamShopFileImplement/Models/MessageInfo.cs index 2097a6b..74f42c5 100644 --- a/IceCreamShop/IceCreamShopFileImplement/Models/MessageInfo.cs +++ b/IceCreamShop/IceCreamShopFileImplement/Models/MessageInfo.cs @@ -27,9 +27,11 @@ namespace IceCreamShopFileImplement.Models [DataMember] public string Body { get; private set; } = string.Empty; - public bool HasRead { get; private set; } + [DataMember] + public bool HasRead { get; private set; } - public string? Reply { get; private set; } + [DataMember] + public string? Reply { get; private set; } public static MessageInfo? Create(MessageInfoBindingModel model) { @@ -39,15 +41,15 @@ namespace IceCreamShopFileImplement.Models } return new() { - Body = model.Body, - Reply = model.Reply, - HasRead = model.HasRead, - Subject = model.Subject, - ClientId = model.ClientId, - MessageId = model.MessageId, - SenderName = model.SenderName, - DateDelivery = model.DateDelivery, - }; + Body = model.Body, + Reply = model.Reply, + HasRead = model.HasRead, + Subject = model.Subject, + ClientId = model.ClientId, + MessageId = model.MessageId, + SenderName = model.SenderName, + DateDelivery = model.DateDelivery, + }; } public static MessageInfo? Create(XElement element) @@ -58,15 +60,15 @@ namespace IceCreamShopFileImplement.Models } return new() { - Body = element.Attribute("Body")!.Value, - Reply = element.Attribute("Reply")!.Value, - HasRead = Convert.ToBoolean(element.Attribute("HasRead")!.Value), - Subject = element.Attribute("Subject")!.Value, - ClientId = Convert.ToInt32(element.Attribute("ClientId")!.Value), - MessageId = element.Attribute("MessageId")!.Value, - SenderName = element.Attribute("SenderName")!.Value, - DateDelivery = Convert.ToDateTime(element.Attribute("DateDelivery")!.Value), - }; + Body = element.Attribute("Body")!.Value, + Reply = element.Attribute("Reply")!.Value, + HasRead = Convert.ToBoolean(element.Attribute("HasRead")!.Value), + Subject = element.Attribute("Subject")!.Value, + ClientId = Convert.ToInt32(element.Attribute("ClientId")!.Value), + MessageId = element.Attribute("MessageId")!.Value, + SenderName = element.Attribute("SenderName")!.Value, + DateDelivery = Convert.ToDateTime(element.Attribute("DateDelivery")!.Value), + }; } public void Update(MessageInfoBindingModel model) @@ -91,19 +93,10 @@ namespace IceCreamShopFileImplement.Models DateDelivery = DateDelivery, }; - public XElement GetXElement => new("MessageInfo", - new XAttribute("Body", Body), - new XAttribute("Reply", Reply), - new XAttribute("HasRead", HasRead), - new XAttribute("Subject", Subject), - new XAttribute("ClientId", ClientId), - new XAttribute("MessageId", MessageId), - new XAttribute("SenderName", SenderName), - new XAttribute("DateDelivery", DateDelivery) - ); - } public XElement GetXElement => new("MessageInfo", new XAttribute("Body", Body), + new XAttribute("Reply", Reply), + new XAttribute("HasRead", HasRead), new XAttribute("Subject", Subject), new XAttribute("ClientId", ClientId), new XAttribute("MessageId", MessageId), @@ -111,6 +104,6 @@ namespace IceCreamShopFileImplement.Models new XAttribute("DateDelivery", DateDelivery) ); - public int Id => throw new NotImplementedException(); - } + public int Id => throw new NotImplementedException(); + } } diff --git a/IceCreamShop/IceCreamShopListImplement/Implements/MessageInfoStorage.cs b/IceCreamShop/IceCreamShopListImplement/Implements/MessageInfoStorage.cs index 1b6c450..7332916 100644 --- a/IceCreamShop/IceCreamShopListImplement/Implements/MessageInfoStorage.cs +++ b/IceCreamShop/IceCreamShopListImplement/Implements/MessageInfoStorage.cs @@ -2,7 +2,6 @@ using IceCreamShopContracts.SearchModels; using IceCreamShopContracts.StoragesContracts; using IceCreamShopContracts.ViewModels; -using IceCreamShopContracts.StoragesContracts; using IceCreamShopListImplement.Models; namespace IceCreamShopListImplement.Implements diff --git a/IceCreamShop/IceCreamShopListImplement/ListImplementationExtension.cs b/IceCreamShop/IceCreamShopListImplement/ListImplementationExtension.cs index a81df9a..fe1a3d3 100644 --- a/IceCreamShop/IceCreamShopListImplement/ListImplementationExtension.cs +++ b/IceCreamShop/IceCreamShopListImplement/ListImplementationExtension.cs @@ -16,8 +16,8 @@ namespace IceCreamShopListImplement DependencyManager.Instance.RegisterType(); DependencyManager.Instance.RegisterType(); DependencyManager.Instance.RegisterType(); + DependencyManager.Instance.RegisterType(); DependencyManager.Instance.RegisterType(); } - } } diff --git a/IceCreamShop/IceCreamShopListImplement/Models/MessageInfo.cs b/IceCreamShop/IceCreamShopListImplement/Models/MessageInfo.cs index 2ec1866..cf66d24 100644 --- a/IceCreamShop/IceCreamShopListImplement/Models/MessageInfo.cs +++ b/IceCreamShop/IceCreamShopListImplement/Models/MessageInfo.cs @@ -26,9 +26,11 @@ namespace IceCreamShopListImplement.Models [DataMember] public string Body { get; private set; } = string.Empty; - public bool HasRead { get; private set; } + [DataMember] + public bool HasRead { get; private set; } - public string? Reply { get; private set; } + [DataMember] + public string? Reply { get; private set; } public static MessageInfo? Create(MessageInfoBindingModel model) { @@ -38,15 +40,15 @@ namespace IceCreamShopListImplement.Models } return new() { - Body = model.Body, - Reply = model.Reply, - HasRead = model.HasRead, - Subject = model.Subject, - ClientId = model.ClientId, - MessageId = model.MessageId, - SenderName = model.SenderName, - DateDelivery = model.DateDelivery, - }; + Body = model.Body, + Reply = model.Reply, + HasRead = model.HasRead, + Subject = model.Subject, + ClientId = model.ClientId, + MessageId = model.MessageId, + SenderName = model.SenderName, + DateDelivery = model.DateDelivery, + }; } public void Update(MessageInfoBindingModel model) @@ -62,6 +64,8 @@ namespace IceCreamShopListImplement.Models public MessageInfoViewModel GetViewModel => new() { Body = Body, + Reply = Reply, + HasRead = HasRead, Subject = Subject, ClientId = ClientId, MessageId = MessageId, @@ -71,14 +75,4 @@ namespace IceCreamShopListImplement.Models public int Id => throw new NotImplementedException(); } - Body = Body, - Reply = Reply, - HasRead = HasRead, - Subject = Subject, - ClientId = ClientId, - MessageId = MessageId, - SenderName = SenderName, - DateDelivery = DateDelivery, - }; - } } diff --git a/IceCreamShop/ImplementationExtensions/IceCreamShopContracts.dll b/IceCreamShop/ImplementationExtensions/IceCreamShopContracts.dll index 5e2b943..a447c77 100644 Binary files a/IceCreamShop/ImplementationExtensions/IceCreamShopContracts.dll and b/IceCreamShop/ImplementationExtensions/IceCreamShopContracts.dll differ diff --git a/IceCreamShop/ImplementationExtensions/IceCreamShopDataModels.dll b/IceCreamShop/ImplementationExtensions/IceCreamShopDataModels.dll index 749fa90..8625536 100644 Binary files a/IceCreamShop/ImplementationExtensions/IceCreamShopDataModels.dll and b/IceCreamShop/ImplementationExtensions/IceCreamShopDataModels.dll differ diff --git a/IceCreamShop/ImplementationExtensions/IceCreamShopListImplement.dll b/IceCreamShop/ImplementationExtensions/IceCreamShopListImplement.dll index 1a911f4..b12c4a4 100644 Binary files a/IceCreamShop/ImplementationExtensions/IceCreamShopListImplement.dll and b/IceCreamShop/ImplementationExtensions/IceCreamShopListImplement.dll differ