diff --git a/BlacksmithWorkshop/BlacksmithWorkshop/BlacksmithWorkshop.csproj b/BlacksmithWorkshop/BlacksmithWorkshop/BlacksmithWorkshop.csproj
index c5a85a4..edd6fe3 100644
--- a/BlacksmithWorkshop/BlacksmithWorkshop/BlacksmithWorkshop.csproj
+++ b/BlacksmithWorkshop/BlacksmithWorkshop/BlacksmithWorkshop.csproj
@@ -14,8 +14,9 @@
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
+
diff --git a/BlacksmithWorkshop/BlacksmithWorkshop/FormMain.Designer.cs b/BlacksmithWorkshop/BlacksmithWorkshop/FormMain.Designer.cs
index a432484..55c2305 100644
--- a/BlacksmithWorkshop/BlacksmithWorkshop/FormMain.Designer.cs
+++ b/BlacksmithWorkshop/BlacksmithWorkshop/FormMain.Designer.cs
@@ -1,210 +1,267 @@
namespace BlacksmithWorkshop
{
- 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()
- {
- this.dataGridView = new System.Windows.Forms.DataGridView();
- this.buttonCreateOrder = new System.Windows.Forms.Button();
- this.buttonTakeOrderInWork = new System.Windows.Forms.Button();
- this.buttonOrderReady = new System.Windows.Forms.Button();
- this.buttonIssuedOrder = new System.Windows.Forms.Button();
- this.buttonRef = new System.Windows.Forms.Button();
- this.menuStrip = new System.Windows.Forms.MenuStrip();
- this.toolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.workPieceToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.manufactureToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.shopToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.addManufactureToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.buttonSellManufacture = new System.Windows.Forms.Button();
- ((System.ComponentModel.ISupportInitialize)(this.dataGridView)).BeginInit();
- this.menuStrip.SuspendLayout();
- this.SuspendLayout();
- //
- // dataGridView
- //
- this.dataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
- this.dataGridView.Location = new System.Drawing.Point(11, 36);
- this.dataGridView.Name = "dataGridView";
- this.dataGridView.RowHeadersWidth = 51;
- this.dataGridView.RowTemplate.Height = 29;
- this.dataGridView.Size = new System.Drawing.Size(937, 448);
- this.dataGridView.TabIndex = 0;
- //
- // buttonCreateOrder
- //
- this.buttonCreateOrder.Location = new System.Drawing.Point(1014, 67);
- this.buttonCreateOrder.Name = "buttonCreateOrder";
- this.buttonCreateOrder.Size = new System.Drawing.Size(235, 29);
- this.buttonCreateOrder.TabIndex = 1;
- this.buttonCreateOrder.Text = "Создать заказ";
- this.buttonCreateOrder.UseVisualStyleBackColor = true;
- this.buttonCreateOrder.Click += new System.EventHandler(this.ButtonCreateOrder_Click);
- //
- // buttonTakeOrderInWork
- //
- this.buttonTakeOrderInWork.Location = new System.Drawing.Point(1014, 143);
- this.buttonTakeOrderInWork.Name = "buttonTakeOrderInWork";
- this.buttonTakeOrderInWork.Size = new System.Drawing.Size(235, 29);
- this.buttonTakeOrderInWork.TabIndex = 2;
- this.buttonTakeOrderInWork.Text = "Отдать на выполнение";
- this.buttonTakeOrderInWork.UseVisualStyleBackColor = true;
- this.buttonTakeOrderInWork.Click += new System.EventHandler(this.ButtonTakeOrderInWork_Click);
- //
- // buttonOrderReady
- //
- this.buttonOrderReady.Location = new System.Drawing.Point(1014, 220);
- this.buttonOrderReady.Name = "buttonOrderReady";
- this.buttonOrderReady.Size = new System.Drawing.Size(235, 29);
- this.buttonOrderReady.TabIndex = 3;
- this.buttonOrderReady.Text = "Заказ готов";
- this.buttonOrderReady.UseVisualStyleBackColor = true;
- this.buttonOrderReady.Click += new System.EventHandler(this.ButtonOrderReady_Click);
- //
- // buttonIssuedOrder
- //
- this.buttonIssuedOrder.Location = new System.Drawing.Point(1014, 296);
- this.buttonIssuedOrder.Name = "buttonIssuedOrder";
- this.buttonIssuedOrder.Size = new System.Drawing.Size(235, 29);
- this.buttonIssuedOrder.TabIndex = 4;
- this.buttonIssuedOrder.Text = "Заказ выдан";
- this.buttonIssuedOrder.UseVisualStyleBackColor = true;
- this.buttonIssuedOrder.Click += new System.EventHandler(this.ButtonIssuedOrder_Click);
- //
- // buttonRef
- //
- this.buttonRef.Location = new System.Drawing.Point(1014, 369);
- this.buttonRef.Name = "buttonRef";
- this.buttonRef.Size = new System.Drawing.Size(235, 29);
- this.buttonRef.TabIndex = 5;
- this.buttonRef.Text = "Обновить";
- this.buttonRef.UseVisualStyleBackColor = true;
- this.buttonRef.Click += new System.EventHandler(this.ButtonRef_Click);
- //
- // menuStrip
- //
- this.menuStrip.ImageScalingSize = new System.Drawing.Size(20, 20);
- this.menuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.toolStripMenuItem});
- 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(1297, 30);
- this.menuStrip.TabIndex = 6;
- this.menuStrip.Text = "menuStrip1";
- //
- // toolStripMenuItem
- //
- this.toolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.workPieceToolStripMenuItem,
- this.manufactureToolStripMenuItem,
- this.shopToolStripMenuItem,
- this.addManufactureToolStripMenuItem});
- this.toolStripMenuItem.Name = "toolStripMenuItem";
- this.toolStripMenuItem.Size = new System.Drawing.Size(117, 24);
- this.toolStripMenuItem.Text = "Справочники";
- //
- // workPieceToolStripMenuItem
- //
- this.workPieceToolStripMenuItem.Name = "workPieceToolStripMenuItem";
- this.workPieceToolStripMenuItem.Size = new System.Drawing.Size(251, 26);
- this.workPieceToolStripMenuItem.Text = "Заготовки";
- this.workPieceToolStripMenuItem.Click += new System.EventHandler(this.WorkPieceToolStripMenuItem_Click);
- //
- // manufactureToolStripMenuItem
- //
- this.manufactureToolStripMenuItem.Name = "manufactureToolStripMenuItem";
- this.manufactureToolStripMenuItem.Size = new System.Drawing.Size(251, 26);
- this.manufactureToolStripMenuItem.Text = "Изделия";
- this.manufactureToolStripMenuItem.Click += new System.EventHandler(this.ManufactureToolStripMenuItem_Click);
- //
- // shopToolStripMenuItem
- //
- this.shopToolStripMenuItem.Name = "shopToolStripMenuItem";
- this.shopToolStripMenuItem.Size = new System.Drawing.Size(251, 26);
- this.shopToolStripMenuItem.Text = "Магазины";
- this.shopToolStripMenuItem.Click += new System.EventHandler(this.ShopToolStripMenuItem_Click);
- //
- // addManufactureToolStripMenuItem
- //
- this.addManufactureToolStripMenuItem.Name = "addManufactureToolStripMenuItem";
- this.addManufactureToolStripMenuItem.Size = new System.Drawing.Size(251, 26);
- this.addManufactureToolStripMenuItem.Text = "Пополнение магазина";
- this.addManufactureToolStripMenuItem.Click += new System.EventHandler(this.AddManufactureToolStripMenuItem_Click);
- //
- // buttonSellManufacture
- //
- this.buttonSellManufacture.Location = new System.Drawing.Point(1014, 440);
- this.buttonSellManufacture.Name = "buttonSellManufacture";
- this.buttonSellManufacture.Size = new System.Drawing.Size(233, 29);
- this.buttonSellManufacture.TabIndex = 7;
- this.buttonSellManufacture.Text = "Продажа изделий";
- this.buttonSellManufacture.UseVisualStyleBackColor = true;
- this.buttonSellManufacture.Click += new System.EventHandler(this.ButtonSellManufacture_Click);
- //
- // FormMain
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(1297, 496);
- this.Controls.Add(this.buttonSellManufacture);
- this.Controls.Add(this.buttonRef);
- this.Controls.Add(this.buttonIssuedOrder);
- this.Controls.Add(this.buttonOrderReady);
- this.Controls.Add(this.buttonTakeOrderInWork);
- this.Controls.Add(this.buttonCreateOrder);
- this.Controls.Add(this.dataGridView);
- this.Controls.Add(this.menuStrip);
- this.MainMenuStrip = this.menuStrip;
- 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();
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ dataGridView = new DataGridView();
+ buttonCreateOrder = new Button();
+ buttonTakeOrderInWork = new Button();
+ buttonOrderReady = new Button();
+ buttonIssuedOrder = new Button();
+ buttonRef = new Button();
+ menuStrip = new MenuStrip();
+ toolStripMenuItem = new ToolStripMenuItem();
+ workPieceToolStripMenuItem = new ToolStripMenuItem();
+ manufactureToolStripMenuItem = new ToolStripMenuItem();
+ shopToolStripMenuItem = new ToolStripMenuItem();
+ addManufactureToolStripMenuItem = new ToolStripMenuItem();
+ reportToolStripMenuItem = new ToolStripMenuItem();
+ groupedOrdersReportToolStripMenuItem = new ToolStripMenuItem();
+ ordersReportToolStripMenuItem = new ToolStripMenuItem();
+ workloadStoresReportToolStripMenuItem = new ToolStripMenuItem();
+ shopsReportToolStripMenuItem = new ToolStripMenuItem();
+ reportManufactureToolStripMenuItem = new ToolStripMenuItem();
+ workPieceManufacturesToolStripMenuItem = new ToolStripMenuItem();
+ buttonSellManufacture = new Button();
+ ((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit();
+ menuStrip.SuspendLayout();
+ SuspendLayout();
+ //
+ // dataGridView
+ //
+ dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ dataGridView.Location = new Point(11, 36);
+ dataGridView.Name = "dataGridView";
+ dataGridView.RowHeadersWidth = 51;
+ dataGridView.RowTemplate.Height = 29;
+ dataGridView.Size = new Size(937, 448);
+ dataGridView.TabIndex = 0;
+ //
+ // buttonCreateOrder
+ //
+ buttonCreateOrder.Location = new Point(1014, 67);
+ buttonCreateOrder.Name = "buttonCreateOrder";
+ buttonCreateOrder.Size = new Size(235, 29);
+ buttonCreateOrder.TabIndex = 1;
+ buttonCreateOrder.Text = "Создать заказ";
+ buttonCreateOrder.UseVisualStyleBackColor = true;
+ buttonCreateOrder.Click += ButtonCreateOrder_Click;
+ //
+ // buttonTakeOrderInWork
+ //
+ buttonTakeOrderInWork.Location = new Point(1014, 143);
+ buttonTakeOrderInWork.Name = "buttonTakeOrderInWork";
+ buttonTakeOrderInWork.Size = new Size(235, 29);
+ buttonTakeOrderInWork.TabIndex = 2;
+ buttonTakeOrderInWork.Text = "Отдать на выполнение";
+ buttonTakeOrderInWork.UseVisualStyleBackColor = true;
+ buttonTakeOrderInWork.Click += ButtonTakeOrderInWork_Click;
+ //
+ // buttonOrderReady
+ //
+ buttonOrderReady.Location = new Point(1014, 220);
+ buttonOrderReady.Name = "buttonOrderReady";
+ buttonOrderReady.Size = new Size(235, 29);
+ buttonOrderReady.TabIndex = 3;
+ buttonOrderReady.Text = "Заказ готов";
+ buttonOrderReady.UseVisualStyleBackColor = true;
+ buttonOrderReady.Click += ButtonOrderReady_Click;
+ //
+ // buttonIssuedOrder
+ //
+ buttonIssuedOrder.Location = new Point(1014, 296);
+ buttonIssuedOrder.Name = "buttonIssuedOrder";
+ buttonIssuedOrder.Size = new Size(235, 29);
+ buttonIssuedOrder.TabIndex = 4;
+ buttonIssuedOrder.Text = "Заказ выдан";
+ buttonIssuedOrder.UseVisualStyleBackColor = true;
+ buttonIssuedOrder.Click += ButtonIssuedOrder_Click;
+ //
+ // buttonRef
+ //
+ buttonRef.Location = new Point(1014, 369);
+ buttonRef.Name = "buttonRef";
+ buttonRef.Size = new Size(235, 29);
+ buttonRef.TabIndex = 5;
+ buttonRef.Text = "Обновить";
+ buttonRef.UseVisualStyleBackColor = true;
+ buttonRef.Click += ButtonRef_Click;
+ //
+ // menuStrip
+ //
+ menuStrip.ImageScalingSize = new Size(20, 20);
+ menuStrip.Items.AddRange(new ToolStripItem[] { toolStripMenuItem, reportToolStripMenuItem });
+ menuStrip.Location = new Point(0, 0);
+ menuStrip.Name = "menuStrip";
+ menuStrip.Padding = new Padding(6, 3, 0, 3);
+ menuStrip.Size = new Size(1297, 30);
+ menuStrip.TabIndex = 6;
+ menuStrip.Text = "menuStrip1";
+ //
+ // toolStripMenuItem
+ //
+ toolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { workPieceToolStripMenuItem, manufactureToolStripMenuItem, shopToolStripMenuItem, addManufactureToolStripMenuItem });
+ toolStripMenuItem.Name = "toolStripMenuItem";
+ toolStripMenuItem.Size = new Size(117, 24);
+ toolStripMenuItem.Text = "Справочники";
+ //
+ // workPieceToolStripMenuItem
+ //
+ workPieceToolStripMenuItem.Name = "workPieceToolStripMenuItem";
+ workPieceToolStripMenuItem.Size = new Size(251, 26);
+ workPieceToolStripMenuItem.Text = "Заготовки";
+ workPieceToolStripMenuItem.Click += WorkPieceToolStripMenuItem_Click;
+ //
+ // manufactureToolStripMenuItem
+ //
+ manufactureToolStripMenuItem.Name = "manufactureToolStripMenuItem";
+ manufactureToolStripMenuItem.Size = new Size(251, 26);
+ manufactureToolStripMenuItem.Text = "Изделия";
+ manufactureToolStripMenuItem.Click += ManufactureToolStripMenuItem_Click;
+ //
+ // shopToolStripMenuItem
+ //
+ shopToolStripMenuItem.Name = "shopToolStripMenuItem";
+ shopToolStripMenuItem.Size = new Size(251, 26);
+ shopToolStripMenuItem.Text = "Магазины";
+ shopToolStripMenuItem.Click += ShopToolStripMenuItem_Click;
+ //
+ // addManufactureToolStripMenuItem
+ //
+ addManufactureToolStripMenuItem.Name = "addManufactureToolStripMenuItem";
+ addManufactureToolStripMenuItem.Size = new Size(251, 26);
+ addManufactureToolStripMenuItem.Text = "Пополнение магазина";
+ addManufactureToolStripMenuItem.Click += AddManufactureToolStripMenuItem_Click;
+ //
+ // reportToolStripMenuItem
+ //
+ reportToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { groupedOrdersReportToolStripMenuItem, ordersReportToolStripMenuItem, workloadStoresReportToolStripMenuItem, shopsReportToolStripMenuItem, reportManufactureToolStripMenuItem, workPieceManufacturesToolStripMenuItem });
+ reportToolStripMenuItem.Name = "reportToolStripMenuItem";
+ reportToolStripMenuItem.Size = new Size(73, 24);
+ reportToolStripMenuItem.Text = "Отчёты";
+ //
+ // groupedOrdersReportToolStripMenuItem
+ //
+ groupedOrdersReportToolStripMenuItem.Name = "groupedOrdersReportToolStripMenuItem";
+ groupedOrdersReportToolStripMenuItem.Size = new Size(310, 26);
+ groupedOrdersReportToolStripMenuItem.Text = "Список заказов за весь период";
+ groupedOrdersReportToolStripMenuItem.Click += GroupedOrdersReportToolStripMenuItem_Click;
+ //
+ // ordersReportToolStripMenuItem
+ //
+ ordersReportToolStripMenuItem.Name = "ordersReportToolStripMenuItem";
+ ordersReportToolStripMenuItem.Size = new Size(310, 26);
+ ordersReportToolStripMenuItem.Text = "Список заказов";
+ ordersReportToolStripMenuItem.Click += OrdersReportToolStripMenuItem_Click;
+ //
+ // workloadStoresReportToolStripMenuItem
+ //
+ workloadStoresReportToolStripMenuItem.Name = "workloadStoresReportToolStripMenuItem";
+ workloadStoresReportToolStripMenuItem.Size = new Size(310, 26);
+ workloadStoresReportToolStripMenuItem.Text = "Загруженность магазинов";
+ workloadStoresReportToolStripMenuItem.Click += WorkloadStoresReportToolStripMenuItem_Click;
+ //
+ // shopsReportToolStripMenuItem
+ //
+ shopsReportToolStripMenuItem.Name = "shopsReportToolStripMenuItem";
+ shopsReportToolStripMenuItem.Size = new Size(310, 26);
+ shopsReportToolStripMenuItem.Text = "Таблица магазинов";
+ shopsReportToolStripMenuItem.Click += ShopsReportToolStripMenuItem_Click;
+ //
+ // reportManufactureToolStripMenuItem
+ //
+ reportManufactureToolStripMenuItem.Name = "reportManufactureToolStripMenuItem";
+ reportManufactureToolStripMenuItem.Size = new Size(310, 26);
+ reportManufactureToolStripMenuItem.Text = "Список изделий";
+ reportManufactureToolStripMenuItem.Click += ReportManufactureToolStripMenuItem_Click;
+ //
+ // workPieceManufacturesToolStripMenuItem
+ //
+ workPieceManufacturesToolStripMenuItem.Name = "workPieceManufacturesToolStripMenuItem";
+ workPieceManufacturesToolStripMenuItem.Size = new Size(310, 26);
+ workPieceManufacturesToolStripMenuItem.Text = "Заготовки по изделиям";
+ workPieceManufacturesToolStripMenuItem.Click += WorkPieceManufacturesToolStripMenuItem_Click;
+ //
+ // buttonSellManufacture
+ //
+ buttonSellManufacture.Location = new Point(1014, 440);
+ buttonSellManufacture.Name = "buttonSellManufacture";
+ buttonSellManufacture.Size = new Size(233, 29);
+ buttonSellManufacture.TabIndex = 7;
+ buttonSellManufacture.Text = "Продажа изделий";
+ buttonSellManufacture.UseVisualStyleBackColor = true;
+ buttonSellManufacture.Click += ButtonSellManufacture_Click;
+ //
+ // FormMain
+ //
+ AutoScaleDimensions = new SizeF(8F, 20F);
+ AutoScaleMode = AutoScaleMode.Font;
+ ClientSize = new Size(1297, 496);
+ Controls.Add(buttonSellManufacture);
+ Controls.Add(buttonRef);
+ Controls.Add(buttonIssuedOrder);
+ Controls.Add(buttonOrderReady);
+ Controls.Add(buttonTakeOrderInWork);
+ Controls.Add(buttonCreateOrder);
+ Controls.Add(dataGridView);
+ Controls.Add(menuStrip);
+ MainMenuStrip = menuStrip;
+ Name = "FormMain";
+ Text = "Кузнечная мастерская";
+ Load += FormMain_Load;
+ ((System.ComponentModel.ISupportInitialize)dataGridView).EndInit();
+ menuStrip.ResumeLayout(false);
+ menuStrip.PerformLayout();
+ ResumeLayout(false);
+ PerformLayout();
+ }
- }
+ #endregion
- #endregion
-
- private DataGridView dataGridView;
- private Button buttonCreateOrder;
- private Button buttonTakeOrderInWork;
- private Button buttonOrderReady;
- private Button buttonIssuedOrder;
- private Button buttonRef;
- private MenuStrip menuStrip;
- private ToolStripMenuItem toolStripMenuItem;
- private ToolStripMenuItem workPieceToolStripMenuItem;
- private ToolStripMenuItem manufactureToolStripMenuItem;
- private ToolStripMenuItem shopToolStripMenuItem;
- private ToolStripMenuItem addManufactureToolStripMenuItem;
- private Button buttonSellManufacture;
- }
+ private DataGridView dataGridView;
+ private Button buttonCreateOrder;
+ private Button buttonTakeOrderInWork;
+ private Button buttonOrderReady;
+ private Button buttonIssuedOrder;
+ private Button buttonRef;
+ private MenuStrip menuStrip;
+ private ToolStripMenuItem toolStripMenuItem;
+ private ToolStripMenuItem workPieceToolStripMenuItem;
+ private ToolStripMenuItem manufactureToolStripMenuItem;
+ private ToolStripMenuItem shopToolStripMenuItem;
+ private ToolStripMenuItem addManufactureToolStripMenuItem;
+ private Button buttonSellManufacture;
+ private ToolStripMenuItem reportToolStripMenuItem;
+ private ToolStripMenuItem groupedOrdersReportToolStripMenuItem;
+ private ToolStripMenuItem ordersReportToolStripMenuItem;
+ private ToolStripMenuItem workloadStoresReportToolStripMenuItem;
+ private ToolStripMenuItem shopsReportToolStripMenuItem;
+ private ToolStripMenuItem reportManufactureToolStripMenuItem;
+ private ToolStripMenuItem workPieceManufacturesToolStripMenuItem;
+ }
}
\ No newline at end of file
diff --git a/BlacksmithWorkshop/BlacksmithWorkshop/FormMain.cs b/BlacksmithWorkshop/BlacksmithWorkshop/FormMain.cs
index 6420d72..2d0dce3 100644
--- a/BlacksmithWorkshop/BlacksmithWorkshop/FormMain.cs
+++ b/BlacksmithWorkshop/BlacksmithWorkshop/FormMain.cs
@@ -1,4 +1,5 @@
-using BlacksmithWorkshopContracts.BindingModels;
+using BlacksmithWorkshopBusinessLogic.BusinessLogic;
+using BlacksmithWorkshopContracts.BindingModels;
using BlacksmithWorkshopContracts.BusinessLogicsContracts;
using BlacksmithWorkshopDataModels.Enums;
using Microsoft.Extensions.Logging;
@@ -14,213 +15,272 @@ using System.Windows.Forms;
namespace BlacksmithWorkshop
{
- public partial class FormMain : Form
- {
- private readonly ILogger _logger;
+ public partial class FormMain : Form
+ {
+ private readonly ILogger _logger;
- private readonly IOrderLogic _orderLogic;
+ private readonly IOrderLogic _orderLogic;
- public FormMain(ILogger logger, IOrderLogic orderLogic)
- {
- InitializeComponent();
+ private readonly IReportLogic _reportLogic;
- _logger = logger;
- _orderLogic = orderLogic;
- }
+ public FormMain(ILogger logger, IOrderLogic orderLogic, IReportLogic reportLogic)
+ {
+ InitializeComponent();
- private void FormMain_Load(object sender, EventArgs e)
- {
- LoadData();
- }
+ _logger = logger;
+ _orderLogic = orderLogic;
+ _reportLogic = reportLogic;
+ }
- private void LoadData()
- {
- _logger.LogInformation("Загрузка заказов");
+ private void FormMain_Load(object sender, EventArgs e)
+ {
+ LoadData();
+ }
- try
- {
- var list = _orderLogic.ReadList(null);
+ private void LoadData()
+ {
+ _logger.LogInformation("Загрузка заказов");
- if (list != null)
- {
- dataGridView.DataSource = list;
- dataGridView.Columns["ManufactureId"].Visible = false;
- }
+ try
+ {
+ var list = _orderLogic.ReadList(null);
- _logger.LogInformation("Загрузка заказов");
- }
- catch (Exception ex)
- {
- _logger.LogError(ex, "Ошибка загрузки заказов");
- MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- }
+ if (list != null)
+ {
+ dataGridView.DataSource = list;
+ dataGridView.Columns["ManufactureId"].Visible = false;
+ }
- private void WorkPieceToolStripMenuItem_Click(object sender, EventArgs e)
- {
- var service = Program.ServiceProvider?.GetService(typeof(FormWorkPieces));
+ _logger.LogInformation("Загрузка заказов");
+ }
+ catch (Exception ex)
+ {
+ _logger.LogError(ex, "Ошибка загрузки заказов");
+ MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
- if (service is FormWorkPieces form)
- {
- form.ShowDialog();
- }
- }
+ private void WorkPieceToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ var service = Program.ServiceProvider?.GetService(typeof(FormWorkPieces));
- private void ManufactureToolStripMenuItem_Click(object sender, EventArgs e)
- {
- var service = Program.ServiceProvider?.GetService(typeof(FormManufactures));
+ if (service is FormWorkPieces form)
+ {
+ form.ShowDialog();
+ }
+ }
- if (service is FormManufactures form)
- {
- form.ShowDialog();
- }
- }
+ private void ManufactureToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ var service = Program.ServiceProvider?.GetService(typeof(FormManufactures));
- private void ButtonCreateOrder_Click(object sender, EventArgs e)
- {
- var service = Program.ServiceProvider?.GetService(typeof(FormCreateOrder));
+ if (service is FormManufactures form)
+ {
+ form.ShowDialog();
+ }
+ }
- if (service is FormCreateOrder form)
- {
- form.ShowDialog();
- LoadData();
- }
+ private void ButtonCreateOrder_Click(object sender, EventArgs e)
+ {
+ var service = Program.ServiceProvider?.GetService(typeof(FormCreateOrder));
- }
+ if (service is FormCreateOrder form)
+ {
+ form.ShowDialog();
+ LoadData();
+ }
- private void ButtonTakeOrderInWork_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
- });
+ private void ButtonTakeOrderInWork_Click(object sender, EventArgs e)
+ {
+ if (dataGridView.SelectedRows.Count == 1)
+ {
+ int id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value);
+ _logger.LogInformation("Заказ №{id}. Меняется статус на 'В работе'", id);
- if (!operationResult)
- {
- throw new Exception("Ошибка при сохранении. Дополнительная информация в логах.");
- }
+ try
+ {
+ var operationResult = _orderLogic.TakeOrderInWork(new OrderBindingModel
+ {
+ Id = id
+ });
- LoadData();
- }
- catch (Exception ex)
- {
- _logger.LogError(ex, "Ошибка передачи заказа в работу");
- MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- }
- }
+ if (!operationResult)
+ {
+ throw new Exception("Ошибка при сохранении. Дополнительная информация в логах.");
+ }
- private void ButtonOrderReady_Click(object sender, EventArgs e)
- {
- if (dataGridView.SelectedRows.Count == 1)
- {
- int id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value);
- _logger.LogInformation("Заказ №{id}. Меняется статус на 'Готов'", id);
+ LoadData();
+ }
+ catch (Exception ex)
+ {
+ _logger.LogError(ex, "Ошибка передачи заказа в работу");
+ MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+ }
- try
- {
- var operationResult = _orderLogic.FinishOrder(new OrderBindingModel
- {
- Id = id
- });
+ private void ButtonOrderReady_Click(object sender, EventArgs e)
+ {
+ if (dataGridView.SelectedRows.Count == 1)
+ {
+ int id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value);
+ _logger.LogInformation("Заказ №{id}. Меняется статус на 'Готов'", id);
- if (!operationResult)
- {
- throw new Exception("Ошибка при сохранении. Дополнительная информация в логах.");
- }
+ try
+ {
+ var operationResult = _orderLogic.FinishOrder(new OrderBindingModel
+ {
+ Id = id
+ });
- LoadData();
- }
- catch (Exception ex)
- {
- _logger.LogError(ex, "Ошибка отметки о готовности заказа");
- MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- }
- }
+ if (!operationResult)
+ {
+ throw new Exception("Ошибка при сохранении. Дополнительная информация в логах.");
+ }
- private void ButtonIssuedOrder_Click(object sender, EventArgs e)
- {
- if (dataGridView.SelectedRows.Count == 1)
- {
- int id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value);
- _logger.LogInformation("Заказ №{id}. Меняется статус на 'Выдан'", id);
+ LoadData();
+ }
+ catch (Exception ex)
+ {
+ _logger.LogError(ex, "Ошибка отметки о готовности заказа");
+ MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+ }
- try
- {
- var operationResult = _orderLogic.DeliveryOrder(new OrderBindingModel
- {
- Id = id
- });
+ private void ButtonIssuedOrder_Click(object sender, EventArgs e)
+ {
+ if (dataGridView.SelectedRows.Count == 1)
+ {
+ int id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value);
+ _logger.LogInformation("Заказ №{id}. Меняется статус на 'Выдан'", id);
- if (!operationResult)
- {
- throw new Exception("Ошибка при сохранении. Дополнительная информация в логах.");
- }
+ try
+ {
+ var operationResult = _orderLogic.DeliveryOrder(new OrderBindingModel
+ {
+ Id = id
+ });
- _logger.LogInformation("Заказ №{id} выдан", id);
+ if (!operationResult)
+ {
+ throw new Exception("Ошибка при сохранении. Дополнительная информация в логах.");
+ }
- LoadData();
- }
- catch (Exception ex)
- {
- _logger.LogError(ex, "Ошибка отметки о выдачи заказа");
- MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- }
- }
+ _logger.LogInformation("Заказ №{id} выдан", id);
- private void ButtonSellIceCream_Click(object sender, EventArgs e)
- {
- var service = Program.ServiceProvider?.GetService(typeof(FormSellManufacture));
- if (service is FormSellManufacture form)
- {
- form.ShowDialog();
- LoadData();
- }
- }
+ LoadData();
+ }
+ catch (Exception ex)
+ {
+ _logger.LogError(ex, "Ошибка отметки о выдачи заказа");
+ MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+ }
- private void ButtonRef_Click(object sender, EventArgs e)
- {
- LoadData();
- }
+ private void ButtonRef_Click(object sender, EventArgs e)
+ {
+ LoadData();
+ }
- private void ButtonSellManufacture_Click(object sender, EventArgs e)
- {
- var service = Program.ServiceProvider?.GetService(typeof(FormSellManufacture));
- if (service is FormSellManufacture form)
- {
- form.ShowDialog();
- LoadData();
- }
- }
+ private void ButtonSellManufacture_Click(object sender, EventArgs e)
+ {
+ var service = Program.ServiceProvider?.GetService(typeof(FormSellManufacture));
+ if (service is FormSellManufacture form)
+ {
+ form.ShowDialog();
+ LoadData();
+ }
+ }
- private void ShopToolStripMenuItem_Click(object sender, EventArgs e)
- {
- var service = Program.ServiceProvider?.GetService(typeof(FormShops));
+ private void ShopToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ var service = Program.ServiceProvider?.GetService(typeof(FormShops));
- if (service is FormShops form)
- {
- form.ShowDialog();
- }
- }
+ if (service is FormShops form)
+ {
+ form.ShowDialog();
+ }
+ }
- private void AddManufactureToolStripMenuItem_Click(object sender, EventArgs e)
- {
- var service = Program.ServiceProvider?.GetService(typeof(FormAddManufacture));
+ private void AddManufactureToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ var service = Program.ServiceProvider?.GetService(typeof(FormAddManufacture));
- if (service is FormAddManufacture form)
- {
- form.ShowDialog();
- LoadData();
- }
- }
- }
+ if (service is FormAddManufacture form)
+ {
+ form.ShowDialog();
+ LoadData();
+ }
+ }
+
+ private void GroupedOrdersReportToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ var service = Program.ServiceProvider?.GetService(typeof(FormReportGroupedOrders));
+
+ if (service is FormReportGroupedOrders form)
+ {
+ form.ShowDialog();
+ }
+ }
+
+ private void OrdersReportToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ var service = Program.ServiceProvider?.GetService(typeof(FormReportOrders));
+
+ if (service is FormReportOrders form)
+ {
+ form.ShowDialog();
+ }
+ }
+
+ private void WorkloadStoresReportToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ var service = Program.ServiceProvider?.GetService(typeof(FormReportShopManufactures));
+
+ if (service is FormReportShopManufactures form)
+ {
+ form.ShowDialog();
+ }
+ }
+
+ private void ShopsReportToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ using var dialog = new SaveFileDialog { Filter = "docx|*.docx" };
+
+ if (dialog.ShowDialog() == DialogResult.OK)
+ {
+ _reportLogic.SaveShopsToWordFile(new ReportBindingModel { FileName = dialog.FileName });
+ MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ }
+
+ private void ReportManufactureToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ using var dialog = new SaveFileDialog { Filter = "docx|*.docx" };
+
+ if (dialog.ShowDialog() == DialogResult.OK)
+ {
+ _reportLogic.SaveManufacturesToWordFile(new ReportBindingModel
+ {
+ FileName = dialog.FileName
+ });
+
+ MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ }
+
+ private void WorkPieceManufacturesToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ var service = Program.ServiceProvider?.GetService(typeof(FormReportManufactureWorkPieces));
+
+ if (service is FormReportManufactureWorkPieces form)
+ {
+ form.ShowDialog();
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/BlacksmithWorkshop/BlacksmithWorkshop/FormReportGroupedOrders.Designer.cs b/BlacksmithWorkshop/BlacksmithWorkshop/FormReportGroupedOrders.Designer.cs
new file mode 100644
index 0000000..86b5a55
--- /dev/null
+++ b/BlacksmithWorkshop/BlacksmithWorkshop/FormReportGroupedOrders.Designer.cs
@@ -0,0 +1,92 @@
+namespace BlacksmithWorkshop
+{
+ partial class FormReportGroupedOrders
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ panel = new Panel();
+ buttonToPdf = new Button();
+ buttonMake = new Button();
+ panel.SuspendLayout();
+ SuspendLayout();
+ //
+ // panel
+ //
+ panel.Controls.Add(buttonToPdf);
+ panel.Controls.Add(buttonMake);
+ panel.Dock = DockStyle.Top;
+ panel.Location = new Point(0, 0);
+ panel.Margin = new Padding(4, 3, 4, 3);
+ panel.Name = "panel";
+ panel.Size = new Size(1031, 40);
+ panel.TabIndex = 0;
+ //
+ // buttonToPdf
+ //
+ buttonToPdf.Anchor = AnchorStyles.Top | AnchorStyles.Right;
+ buttonToPdf.Location = new Point(878, 8);
+ buttonToPdf.Margin = new Padding(4, 3, 4, 3);
+ buttonToPdf.Name = "buttonToPdf";
+ buttonToPdf.Size = new Size(139, 27);
+ buttonToPdf.TabIndex = 5;
+ buttonToPdf.Text = "В Pdf";
+ buttonToPdf.UseVisualStyleBackColor = true;
+ buttonToPdf.Click += ButtonToPdf_Click;
+ //
+ // buttonMake
+ //
+ buttonMake.Location = new Point(476, 8);
+ buttonMake.Margin = new Padding(4, 3, 4, 3);
+ buttonMake.Name = "buttonMake";
+ buttonMake.Size = new Size(139, 27);
+ buttonMake.TabIndex = 4;
+ buttonMake.Text = "Сформировать";
+ buttonMake.UseVisualStyleBackColor = true;
+ buttonMake.Click += ButtonMake_Click;
+ //
+ // FormReportOrders
+ //
+ AutoScaleDimensions = new SizeF(7F, 15F);
+ AutoScaleMode = AutoScaleMode.Font;
+ ClientSize = new Size(1031, 647);
+ Controls.Add(panel);
+ Margin = new Padding(4, 3, 4, 3);
+ Name = "FormReportOrders";
+ StartPosition = FormStartPosition.CenterScreen;
+ Text = "Заказы";
+ panel.ResumeLayout(false);
+ panel.PerformLayout();
+ ResumeLayout(false);
+ }
+
+ #endregion
+
+ private Panel panel;
+ private Button buttonToPdf;
+ private Button buttonMake;
+ }
+}
\ No newline at end of file
diff --git a/BlacksmithWorkshop/BlacksmithWorkshop/FormReportGroupedOrders.cs b/BlacksmithWorkshop/BlacksmithWorkshop/FormReportGroupedOrders.cs
new file mode 100644
index 0000000..ed9f46b
--- /dev/null
+++ b/BlacksmithWorkshop/BlacksmithWorkshop/FormReportGroupedOrders.cs
@@ -0,0 +1,87 @@
+using BlacksmithWorkshopContracts.BindingModels;
+using BlacksmithWorkshopContracts.BusinessLogicsContracts;
+using Microsoft.Extensions.Logging;
+using Microsoft.Reporting.WinForms;
+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 BlacksmithWorkshop
+{
+ public partial class FormReportGroupedOrders : Form
+ {
+ private readonly ReportViewer reportViewer;
+
+ private readonly ILogger _logger;
+
+ private readonly IReportLogic _logic;
+
+ public FormReportGroupedOrders(ILogger logger, IReportLogic logic)
+ {
+ InitializeComponent();
+
+ _logger = logger;
+ _logic = logic;
+
+ reportViewer = new ReportViewer
+ {
+ Dock = DockStyle.Fill
+ };
+
+ reportViewer.LocalReport.LoadReportDefinition(new FileStream("C:\\Users\\Programmist73\\Desktop\\Практика\\2-й курс\\4-й семестр\\PIbd-21_Eliseev_E.E._BlacksmithWorkshop\\BlacksmithWorkshop\\BlacksmithWorkshop\\ReportGroupedOrders.rdlc", FileMode.Open));
+ Controls.Clear();
+ Controls.Add(reportViewer);
+ Controls.Add(panel);
+ }
+
+ private void ButtonMake_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ var dataSource = _logic.GetGroupedOrders();
+ var source = new ReportDataSource("DataSetGroupedOrders", dataSource);
+
+ reportViewer.LocalReport.DataSources.Clear();
+ reportViewer.LocalReport.DataSources.Add(source);
+
+ reportViewer.RefreshReport();
+ _logger.LogInformation("Загрузка списка заказов");
+ }
+ catch (Exception ex)
+ {
+ _logger.LogError(ex, "Ошибка загрузки списка заказов");
+ MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+
+ private void ButtonToPdf_Click(object sender, EventArgs e)
+ {
+ using var dialog = new SaveFileDialog { Filter = "pdf|*.pdf" };
+
+ if (dialog.ShowDialog() == DialogResult.OK)
+ {
+ try
+ {
+ _logic.SaveGroupedOrdersToPdfFile(new ReportBindingModel
+ {
+ FileName = dialog.FileName
+ });
+
+ _logger.LogInformation("Загрузка списка заказов");
+ MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ catch (Exception ex)
+ {
+ _logger.LogError(ex, "Ошибка сохранения списка заказов");
+ MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+ }
+ }
+}
diff --git a/BlacksmithWorkshop/BlacksmithWorkshop/FormReportGroupedOrders.resx b/BlacksmithWorkshop/BlacksmithWorkshop/FormReportGroupedOrders.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/BlacksmithWorkshop/BlacksmithWorkshop/FormReportGroupedOrders.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/BlacksmithWorkshop/BlacksmithWorkshop/FormReportManufactureWorkPieces.Designer.cs b/BlacksmithWorkshop/BlacksmithWorkshop/FormReportManufactureWorkPieces.Designer.cs
new file mode 100644
index 0000000..7fa1d39
--- /dev/null
+++ b/BlacksmithWorkshop/BlacksmithWorkshop/FormReportManufactureWorkPieces.Designer.cs
@@ -0,0 +1,120 @@
+namespace BlacksmithWorkshop
+{
+ partial class FormReportManufactureWorkPieces
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ dataGridView = new DataGridView();
+ buttonSaveToExcel = new Button();
+ ColumnManufacture = new DataGridViewTextBoxColumn();
+ ColumnWorkPiece = new DataGridViewTextBoxColumn();
+ ColumnCount = new DataGridViewTextBoxColumn();
+ ((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit();
+ SuspendLayout();
+ //
+ // dataGridView
+ //
+ dataGridView.AllowUserToAddRows = false;
+ dataGridView.AllowUserToDeleteRows = false;
+ dataGridView.AllowUserToOrderColumns = true;
+ dataGridView.AllowUserToResizeColumns = false;
+ dataGridView.AllowUserToResizeRows = false;
+ dataGridView.BackgroundColor = SystemColors.ControlLightLight;
+ dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ dataGridView.Columns.AddRange(new DataGridViewColumn[] { ColumnManufacture, ColumnWorkPiece, ColumnCount });
+ dataGridView.Dock = DockStyle.Bottom;
+ dataGridView.Location = new Point(0, 63);
+ dataGridView.Margin = new Padding(4, 5, 4, 5);
+ dataGridView.MultiSelect = false;
+ dataGridView.Name = "dataGridView";
+ dataGridView.ReadOnly = true;
+ dataGridView.RowHeadersVisible = false;
+ dataGridView.RowHeadersWidth = 51;
+ dataGridView.Size = new Size(704, 680);
+ dataGridView.TabIndex = 0;
+ //
+ // buttonSaveToExcel
+ //
+ buttonSaveToExcel.Location = new Point(16, 18);
+ buttonSaveToExcel.Margin = new Padding(4, 5, 4, 5);
+ buttonSaveToExcel.Name = "buttonSaveToExcel";
+ buttonSaveToExcel.Size = new Size(212, 35);
+ buttonSaveToExcel.TabIndex = 1;
+ buttonSaveToExcel.Text = "Сохранить в Excel";
+ buttonSaveToExcel.UseVisualStyleBackColor = true;
+ buttonSaveToExcel.Click += ButtonSaveToExcel_Click;
+ //
+ // ColumnManufacture
+ //
+ ColumnManufacture.HeaderText = "Изделие";
+ ColumnManufacture.MinimumWidth = 6;
+ ColumnManufacture.Name = "ColumnManufacture";
+ ColumnManufacture.ReadOnly = true;
+ ColumnManufacture.Width = 200;
+ //
+ // ColumnWorkPiece
+ //
+ ColumnWorkPiece.HeaderText = "Заготовка";
+ ColumnWorkPiece.MinimumWidth = 6;
+ ColumnWorkPiece.Name = "ColumnWorkPiece";
+ ColumnWorkPiece.ReadOnly = true;
+ ColumnWorkPiece.Width = 200;
+ //
+ // ColumnCount
+ //
+ ColumnCount.HeaderText = "Количество";
+ ColumnCount.MinimumWidth = 6;
+ ColumnCount.Name = "ColumnCount";
+ ColumnCount.ReadOnly = true;
+ ColumnCount.Width = 125;
+ //
+ // FormReportManufactureWorkPieces
+ //
+ AutoScaleDimensions = new SizeF(8F, 20F);
+ AutoScaleMode = AutoScaleMode.Font;
+ ClientSize = new Size(704, 743);
+ Controls.Add(buttonSaveToExcel);
+ Controls.Add(dataGridView);
+ Margin = new Padding(4, 5, 4, 5);
+ Name = "FormReportManufactureWorkPieces";
+ Text = "Заготовки по изделиям";
+ Load += FormReportManufactureWorkPieces_Load;
+ ((System.ComponentModel.ISupportInitialize)dataGridView).EndInit();
+ ResumeLayout(false);
+ }
+
+ #endregion
+
+ private DataGridView dataGridView;
+ private Button buttonSaveToExcel;
+ private DataGridView dataGridView;
+ private DataGridViewTextBoxColumn ColumWorkPiece;
+ private DataGridViewTextBoxColumn ColumnManufacture;
+ private DataGridViewTextBoxColumn ColumnWorkPiece;
+ private DataGridViewTextBoxColumn ColumnCount;
+ }
+}
\ No newline at end of file
diff --git a/BlacksmithWorkshop/BlacksmithWorkshop/FormReportManufactureWorkPieces.cs b/BlacksmithWorkshop/BlacksmithWorkshop/FormReportManufactureWorkPieces.cs
new file mode 100644
index 0000000..0001b09
--- /dev/null
+++ b/BlacksmithWorkshop/BlacksmithWorkshop/FormReportManufactureWorkPieces.cs
@@ -0,0 +1,94 @@
+using BlacksmithWorkshopContracts.BindingModels;
+using BlacksmithWorkshopContracts.BusinessLogicsContracts;
+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 BlacksmithWorkshop
+{
+ public partial class FormReportManufactureWorkPieces : Form
+ {
+ private readonly ILogger _logger;
+
+ private readonly IReportLogic _logic;
+
+ public FormReportManufactureWorkPieces(ILogger logger, IReportLogic logic)
+ {
+ InitializeComponent();
+
+ _logger = logger;
+ _logic = logic;
+ }
+
+ private void FormReportManufactureWorkPieces_Load(object sender, EventArgs e)
+ {
+ try
+ {
+ var dict = _logic.GetManufactureWorkPiece();
+
+ if (dict != null)
+ {
+ dataGridView.Rows.Clear();
+
+ foreach (var elem in dict)
+ {
+ dataGridView.Rows.Add(new object[] { elem.ManufactureName, "", "" });
+
+ foreach (var listElem in elem.WorkPieces)
+ {
+ dataGridView.Rows.Add(new object[] { "", listElem.Item1, listElem.Item2 });
+ }
+
+ dataGridView.Rows.Add(new object[] { "Итого", "", elem.TotalCount });
+ dataGridView.Rows.Add(Array.Empty