diff --git a/BlacksmithWorkshop/BlacksmithWorkshop/BlacksmithWorkshop.csproj b/BlacksmithWorkshop/BlacksmithWorkshop/BlacksmithWorkshop.csproj
index 58ec7f4..20f9c10 100644
--- a/BlacksmithWorkshop/BlacksmithWorkshop/BlacksmithWorkshop.csproj
+++ b/BlacksmithWorkshop/BlacksmithWorkshop/BlacksmithWorkshop.csproj
@@ -27,6 +27,7 @@
+
\ No newline at end of file
diff --git a/BlacksmithWorkshop/BlacksmithWorkshop/FormMain.Designer.cs b/BlacksmithWorkshop/BlacksmithWorkshop/FormMain.Designer.cs
index 0e7c108..a372504 100644
--- a/BlacksmithWorkshop/BlacksmithWorkshop/FormMain.Designer.cs
+++ b/BlacksmithWorkshop/BlacksmithWorkshop/FormMain.Designer.cs
@@ -38,13 +38,17 @@
buttonIssued = new Button();
buttonReady = new Button();
buttonTakeInWork = new Button();
+ ReportsToolStripMenuItem = new ToolStripMenuItem();
+ ComponentsListToolStripMenuItem = new ToolStripMenuItem();
+ ManufacturesListToolStripMenuItem = new ToolStripMenuItem();
+ OrdersListToolStripMenuItem = new ToolStripMenuItem();
menuStrip.SuspendLayout();
((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit();
SuspendLayout();
//
// menuStrip
//
- menuStrip.Items.AddRange(new ToolStripItem[] { GuidesToolStripMenuItem });
+ menuStrip.Items.AddRange(new ToolStripItem[] { GuidesToolStripMenuItem, ReportsToolStripMenuItem });
menuStrip.Location = new Point(0, 0);
menuStrip.Name = "menuStrip";
menuStrip.Size = new Size(1011, 24);
@@ -131,6 +135,31 @@
buttonTakeInWork.UseVisualStyleBackColor = true;
buttonTakeInWork.Click += TakeInWorkButton_Click;
//
+ // ReportsToolStripMenuItem
+ //
+ ReportsToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { ComponentsListToolStripMenuItem, ManufacturesListToolStripMenuItem, OrdersListToolStripMenuItem });
+ ReportsToolStripMenuItem.Name = "ReportsToolStripMenuItem";
+ ReportsToolStripMenuItem.Size = new Size(60, 20);
+ ReportsToolStripMenuItem.Text = "Отчёты";
+ //
+ // ComponentsListToolStripMenuItem
+ //
+ ComponentsListToolStripMenuItem.Name = "ComponentsListToolStripMenuItem";
+ ComponentsListToolStripMenuItem.Size = new Size(218, 22);
+ ComponentsListToolStripMenuItem.Text = "Список компонентов";
+ //
+ // ManufacturesListToolStripMenuItem
+ //
+ ManufacturesListToolStripMenuItem.Name = "ManufacturesListToolStripMenuItem";
+ ManufacturesListToolStripMenuItem.Size = new Size(218, 22);
+ ManufacturesListToolStripMenuItem.Text = "Компоненты по изделиям";
+ //
+ // OrdersListToolStripMenuItem
+ //
+ OrdersListToolStripMenuItem.Name = "OrdersListToolStripMenuItem";
+ OrdersListToolStripMenuItem.Size = new Size(218, 22);
+ OrdersListToolStripMenuItem.Text = "Список заказов";
+ //
// FormMain
//
AutoScaleDimensions = new SizeF(7F, 15F);
@@ -167,5 +196,9 @@
private Button buttonIssued;
private Button buttonReady;
private Button buttonTakeInWork;
+ private ToolStripMenuItem ReportsToolStripMenuItem;
+ private ToolStripMenuItem ComponentsListToolStripMenuItem;
+ private ToolStripMenuItem ManufacturesListToolStripMenuItem;
+ private ToolStripMenuItem OrdersListToolStripMenuItem;
}
}
\ No newline at end of file
diff --git a/BlacksmithWorkshop/BlacksmithWorkshop/FormReportManufactureComponents.Designer.cs b/BlacksmithWorkshop/BlacksmithWorkshop/FormReportManufactureComponents.Designer.cs
new file mode 100644
index 0000000..488743d
--- /dev/null
+++ b/BlacksmithWorkshop/BlacksmithWorkshop/FormReportManufactureComponents.Designer.cs
@@ -0,0 +1,106 @@
+namespace BlacksmithWorkshop
+{
+ partial class FormReportManufactureComponents
+ {
+ ///
+ /// 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();
+ SaveButton = new Button();
+ ComponentColumn = new DataGridViewTextBoxColumn();
+ ManufactureColumn = new DataGridViewTextBoxColumn();
+ CountColumn = new DataGridViewTextBoxColumn();
+ ((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit();
+ SuspendLayout();
+ //
+ // dataGridView
+ //
+ dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ dataGridView.Columns.AddRange(new DataGridViewColumn[] { ComponentColumn, ManufactureColumn, CountColumn });
+ dataGridView.Location = new Point(14, 61);
+ dataGridView.Margin = new Padding(3, 4, 3, 4);
+ dataGridView.Name = "dataGridView";
+ dataGridView.RowHeadersWidth = 51;
+ dataGridView.RowTemplate.Height = 25;
+ dataGridView.Size = new Size(651, 523);
+ dataGridView.TabIndex = 0;
+ //
+ // SaveButton
+ //
+ SaveButton.Location = new Point(14, 23);
+ SaveButton.Margin = new Padding(3, 4, 3, 4);
+ SaveButton.Name = "SaveButton";
+ SaveButton.Size = new Size(193, 31);
+ SaveButton.TabIndex = 1;
+ SaveButton.Text = "Сохранить в Excel";
+ SaveButton.UseVisualStyleBackColor = true;
+ SaveButton.Click += SaveButton_Click;
+ //
+ // ComponentColumn
+ //
+ ComponentColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
+ ComponentColumn.HeaderText = "Компьютер";
+ ComponentColumn.MinimumWidth = 6;
+ ComponentColumn.Name = "ComponentColumn";
+ //
+ // ManufactureColumn
+ //
+ ManufactureColumn.HeaderText = "Компонент";
+ ManufactureColumn.MinimumWidth = 6;
+ ManufactureColumn.Name = "ManufactureColumn";
+ ManufactureColumn.Width = 200;
+ //
+ // CountColumn
+ //
+ CountColumn.HeaderText = "Количество";
+ CountColumn.MinimumWidth = 6;
+ CountColumn.Name = "CountColumn";
+ CountColumn.Width = 130;
+ //
+ // FormReportManufactureComponents
+ //
+ AutoScaleDimensions = new SizeF(8F, 20F);
+ AutoScaleMode = AutoScaleMode.Font;
+ ClientSize = new Size(679, 600);
+ Controls.Add(SaveButton);
+ Controls.Add(dataGridView);
+ Margin = new Padding(3, 4, 3, 4);
+ Name = "FormReportManufactureComponents";
+ Text = "Компоненты по компьютерам";
+ Load += ReportManufactureComponentForm_Load;
+ ((System.ComponentModel.ISupportInitialize)dataGridView).EndInit();
+ ResumeLayout(false);
+ }
+
+ #endregion
+
+ private DataGridView dataGridView;
+ private Button SaveButton;
+ private DataGridViewTextBoxColumn ComponentColumn;
+ private DataGridViewTextBoxColumn ManufactureColumn;
+ private DataGridViewTextBoxColumn CountColumn;
+ }
+}
\ No newline at end of file
diff --git a/BlacksmithWorkshop/BlacksmithWorkshop/FormReportManufactureComponents.cs b/BlacksmithWorkshop/BlacksmithWorkshop/FormReportManufactureComponents.cs
new file mode 100644
index 0000000..708682b
--- /dev/null
+++ b/BlacksmithWorkshop/BlacksmithWorkshop/FormReportManufactureComponents.cs
@@ -0,0 +1,84 @@
+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 FormReportManufactureComponents : Form
+ {
+ private readonly ILogger _logger;
+ private readonly IReportLogic _logic;
+ public FormReportManufactureComponents(
+ ILogger logger, IReportLogic logic)
+ {
+ InitializeComponent();
+ _logger = logger;
+ _logic = logic;
+
+ }
+ private void ReportManufactureComponentForm_Load(object sender, EventArgs e)
+ {
+ try
+ {
+ var dict = _logic.GetManufactureComponent();
+ if (dict != null)
+ {
+ dataGridView.Rows.Clear();
+ foreach (var elem in dict)
+ {
+ dataGridView.Rows.Add(new object[] { elem.ManufactureName, "", "" });
+ foreach (var listElem in elem.Components)
+ {
+ dataGridView.Rows.Add(new object[] { "", listElem.Item1, listElem.Item2 });
+ }
+ dataGridView.Rows.Add(new object[] { "Итого", "", elem.TotalCount });
+ dataGridView.Rows.Add(Array.Empty