diff --git a/GarmentFactory/FormMain.Designer.cs b/GarmentFactory/FormMain.Designer.cs
index 62b7269..273da04 100644
--- a/GarmentFactory/FormMain.Designer.cs
+++ b/GarmentFactory/FormMain.Designer.cs
@@ -1,219 +1,282 @@
namespace GarmentFactoryView
{
- 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()
- {
- dataGridView = new DataGridView();
- buttonCreateOrder = new Button();
- buttonTakeOrderInWork = new Button();
- buttonOrderReady = new Button();
- buttonCompletedOrder = new Button();
- buttonRefresh = new Button();
- menuStrip1 = new MenuStrip();
- справочникиToolStripMenuItem = new ToolStripMenuItem();
- компонентыToolStripMenuItem = new ToolStripMenuItem();
- текстилиToolStripMenuItem = new ToolStripMenuItem();
- магазиныToolStripMenuItem = new ToolStripMenuItem();
- операцииToolStripMenuItem = new ToolStripMenuItem();
- пополнениеМагазинаToolStripMenuItem1 = new ToolStripMenuItem();
- продажаТовараToolStripMenuItem = new ToolStripMenuItem();
- ((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit();
- menuStrip1.SuspendLayout();
- SuspendLayout();
- //
- // dataGridView
- //
- dataGridView.AllowUserToAddRows = false;
- dataGridView.AllowUserToDeleteRows = false;
- dataGridView.Anchor = AnchorStyles.Bottom | AnchorStyles.Left;
- dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
- dataGridView.Location = new Point(0, 31);
- dataGridView.Name = "dataGridView";
- dataGridView.ReadOnly = true;
- dataGridView.RowHeadersVisible = false;
- dataGridView.RowHeadersWidth = 51;
- dataGridView.RowTemplate.Height = 29;
- dataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
- dataGridView.Size = new Size(950, 425);
- dataGridView.TabIndex = 0;
- //
- // buttonCreateOrder
- //
- buttonCreateOrder.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
- buttonCreateOrder.Location = new Point(977, 80);
- buttonCreateOrder.Name = "buttonCreateOrder";
- buttonCreateOrder.Size = new Size(180, 40);
- buttonCreateOrder.TabIndex = 1;
- buttonCreateOrder.Text = "Создать заказ";
- buttonCreateOrder.UseVisualStyleBackColor = true;
- buttonCreateOrder.Click += ButtonCreateOrder_Click;
- //
- // buttonTakeOrderInWork
- //
- buttonTakeOrderInWork.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
- buttonTakeOrderInWork.Location = new Point(977, 147);
- buttonTakeOrderInWork.Name = "buttonTakeOrderInWork";
- buttonTakeOrderInWork.Size = new Size(180, 40);
- buttonTakeOrderInWork.TabIndex = 2;
- buttonTakeOrderInWork.Text = "Отдать на выполнение";
- buttonTakeOrderInWork.UseVisualStyleBackColor = true;
- buttonTakeOrderInWork.Click += ButtonTakeOrderInWork_Click;
- //
- // buttonOrderReady
- //
- buttonOrderReady.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
- buttonOrderReady.Location = new Point(977, 217);
- buttonOrderReady.Name = "buttonOrderReady";
- buttonOrderReady.Size = new Size(180, 40);
- buttonOrderReady.TabIndex = 3;
- buttonOrderReady.Text = "Заказ готов";
- buttonOrderReady.UseVisualStyleBackColor = true;
- buttonOrderReady.Click += ButtonOrderReady_Click;
- //
- // buttonCompletedOrder
- //
- buttonCompletedOrder.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
- buttonCompletedOrder.Location = new Point(977, 285);
- buttonCompletedOrder.Name = "buttonCompletedOrder";
- buttonCompletedOrder.Size = new Size(180, 40);
- buttonCompletedOrder.TabIndex = 4;
- buttonCompletedOrder.Text = "Заказ выдан";
- buttonCompletedOrder.UseVisualStyleBackColor = true;
- buttonCompletedOrder.Click += ButtonCompletedOrder_Click;
- //
- // buttonRefresh
- //
- buttonRefresh.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
- buttonRefresh.Location = new Point(977, 363);
- buttonRefresh.Name = "buttonRefresh";
- buttonRefresh.Size = new Size(180, 40);
- buttonRefresh.TabIndex = 5;
- buttonRefresh.Text = "Обновить список";
- buttonRefresh.UseVisualStyleBackColor = true;
- buttonRefresh.Click += ButtonRefresh_Click;
- //
- // menuStrip1
- //
- menuStrip1.ImageScalingSize = new Size(20, 20);
- menuStrip1.Items.AddRange(new ToolStripItem[] { справочникиToolStripMenuItem, операцииToolStripMenuItem });
- menuStrip1.Location = new Point(0, 0);
- menuStrip1.Name = "menuStrip1";
- menuStrip1.Size = new Size(1169, 28);
- menuStrip1.TabIndex = 7;
- menuStrip1.Text = "menuStrip1";
- //
- // справочникиToolStripMenuItem
- //
- справочникиToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { компонентыToolStripMenuItem, текстилиToolStripMenuItem, магазиныToolStripMenuItem });
- справочникиToolStripMenuItem.Name = "справочникиToolStripMenuItem";
- справочникиToolStripMenuItem.Size = new Size(117, 24);
- справочникиToolStripMenuItem.Text = "Справочники";
- //
- // компонентыToolStripMenuItem
- //
- компонентыToolStripMenuItem.Name = "компонентыToolStripMenuItem";
- компонентыToolStripMenuItem.Size = new Size(182, 26);
- компонентыToolStripMenuItem.Text = "Компоненты";
- компонентыToolStripMenuItem.Click += компонентыToolStripMenuItem_Click;
- //
- // текстилиToolStripMenuItem
- //
- текстилиToolStripMenuItem.Name = "текстилиToolStripMenuItem";
- текстилиToolStripMenuItem.Size = new Size(182, 26);
- текстилиToolStripMenuItem.Text = "Текстили";
- текстилиToolStripMenuItem.Click += текстилиToolStripMenuItem_Click;
- //
- // магазиныToolStripMenuItem
- //
- магазиныToolStripMenuItem.Name = "магазиныToolStripMenuItem";
- магазиныToolStripMenuItem.Size = new Size(182, 26);
- магазиныToolStripMenuItem.Text = "Магазины";
- магазиныToolStripMenuItem.Click += магазиныToolStripMenuItem_Click;
- //
- // операцииToolStripMenuItem
- //
- операцииToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { пополнениеМагазинаToolStripMenuItem1, продажаТовараToolStripMenuItem });
- операцииToolStripMenuItem.Name = "операцииToolStripMenuItem";
- операцииToolStripMenuItem.Size = new Size(95, 24);
- операцииToolStripMenuItem.Text = "Операции";
- //
- // пополнениеМагазинаToolStripMenuItem1
- //
- пополнениеМагазинаToolStripMenuItem1.Name = "пополнениеМагазинаToolStripMenuItem1";
- пополнениеМагазинаToolStripMenuItem1.Size = new Size(251, 26);
- пополнениеМагазинаToolStripMenuItem1.Text = "Пополнение магазина";
- пополнениеМагазинаToolStripMenuItem1.Click += пополнениеМагазинаToolStripMenuItem1_Click;
- //
- // продажаТовараToolStripMenuItem
- //
- продажаТовараToolStripMenuItem.Name = "продажаТовараToolStripMenuItem";
- продажаТовараToolStripMenuItem.Size = new Size(251, 26);
- продажаТовараToolStripMenuItem.Text = "Продажа товара";
- продажаТовараToolStripMenuItem.Click += продажаТовараToolStripMenuItem_Click;
- //
- // FormMain
- //
- AutoScaleDimensions = new SizeF(8F, 20F);
- AutoScaleMode = AutoScaleMode.Font;
- ClientSize = new Size(1169, 453);
- Controls.Add(menuStrip1);
- Controls.Add(buttonRefresh);
- Controls.Add(buttonCompletedOrder);
- Controls.Add(buttonOrderReady);
- Controls.Add(buttonTakeOrderInWork);
- Controls.Add(buttonCreateOrder);
- Controls.Add(dataGridView);
- MainMenuStrip = menuStrip1;
- Name = "FormMain";
- Text = "Швейная фабрика";
- Load += FormMain_Load;
- ((System.ComponentModel.ISupportInitialize)dataGridView).EndInit();
- menuStrip1.ResumeLayout(false);
- menuStrip1.PerformLayout();
- ResumeLayout(false);
- 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();
+ buttonCompletedOrder = new Button();
+ buttonRefresh = new Button();
+ menuStrip1 = new MenuStrip();
+ справочникиToolStripMenuItem = new ToolStripMenuItem();
+ компонентыToolStripMenuItem = new ToolStripMenuItem();
+ текстилиToolStripMenuItem = new ToolStripMenuItem();
+ магазиныToolStripMenuItem = new ToolStripMenuItem();
+ операцииToolStripMenuItem = new ToolStripMenuItem();
+ пополнениеМагазинаToolStripMenuItem1 = new ToolStripMenuItem();
+ продажаТовараToolStripMenuItem = new ToolStripMenuItem();
+ отчётыToolStripMenuItem = new ToolStripMenuItem();
+ textilesToolStripMenuItem = new ToolStripMenuItem();
+ textileComponentsToolStripMenuItem = new ToolStripMenuItem();
+ ordersToolStripMenuItem = new ToolStripMenuItem();
+ магазиныВDocToolStripMenuItem = new ToolStripMenuItem();
+ загруженностьМагазиновToolStripMenuItem = new ToolStripMenuItem();
+ заказыПоДатамToolStripMenuItem = new ToolStripMenuItem();
+ ((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit();
+ menuStrip1.SuspendLayout();
+ SuspendLayout();
+ //
+ // dataGridView
+ //
+ dataGridView.AllowUserToAddRows = false;
+ dataGridView.AllowUserToDeleteRows = false;
+ dataGridView.Anchor = AnchorStyles.Bottom | AnchorStyles.Left;
+ dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ dataGridView.Location = new Point(0, 31);
+ dataGridView.Name = "dataGridView";
+ dataGridView.ReadOnly = true;
+ dataGridView.RowHeadersVisible = false;
+ dataGridView.RowHeadersWidth = 51;
+ dataGridView.RowTemplate.Height = 29;
+ dataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
+ dataGridView.Size = new Size(950, 425);
+ dataGridView.TabIndex = 0;
+ //
+ // buttonCreateOrder
+ //
+ buttonCreateOrder.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
+ buttonCreateOrder.Location = new Point(977, 80);
+ buttonCreateOrder.Name = "buttonCreateOrder";
+ buttonCreateOrder.Size = new Size(180, 40);
+ buttonCreateOrder.TabIndex = 1;
+ buttonCreateOrder.Text = "Создать заказ";
+ buttonCreateOrder.UseVisualStyleBackColor = true;
+ buttonCreateOrder.Click += ButtonCreateOrder_Click;
+ //
+ // buttonTakeOrderInWork
+ //
+ buttonTakeOrderInWork.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
+ buttonTakeOrderInWork.Location = new Point(977, 147);
+ buttonTakeOrderInWork.Name = "buttonTakeOrderInWork";
+ buttonTakeOrderInWork.Size = new Size(180, 40);
+ buttonTakeOrderInWork.TabIndex = 2;
+ buttonTakeOrderInWork.Text = "Отдать на выполнение";
+ buttonTakeOrderInWork.UseVisualStyleBackColor = true;
+ buttonTakeOrderInWork.Click += ButtonTakeOrderInWork_Click;
+ //
+ // buttonOrderReady
+ //
+ buttonOrderReady.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
+ buttonOrderReady.Location = new Point(977, 217);
+ buttonOrderReady.Name = "buttonOrderReady";
+ buttonOrderReady.Size = new Size(180, 40);
+ buttonOrderReady.TabIndex = 3;
+ buttonOrderReady.Text = "Заказ готов";
+ buttonOrderReady.UseVisualStyleBackColor = true;
+ buttonOrderReady.Click += ButtonOrderReady_Click;
+ //
+ // buttonCompletedOrder
+ //
+ buttonCompletedOrder.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
+ buttonCompletedOrder.Location = new Point(977, 285);
+ buttonCompletedOrder.Name = "buttonCompletedOrder";
+ buttonCompletedOrder.Size = new Size(180, 40);
+ buttonCompletedOrder.TabIndex = 4;
+ buttonCompletedOrder.Text = "Заказ выдан";
+ buttonCompletedOrder.UseVisualStyleBackColor = true;
+ buttonCompletedOrder.Click += ButtonCompletedOrder_Click;
+ //
+ // buttonRefresh
+ //
+ buttonRefresh.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
+ buttonRefresh.Location = new Point(977, 363);
+ buttonRefresh.Name = "buttonRefresh";
+ buttonRefresh.Size = new Size(180, 40);
+ buttonRefresh.TabIndex = 5;
+ buttonRefresh.Text = "Обновить список";
+ buttonRefresh.UseVisualStyleBackColor = true;
+ buttonRefresh.Click += ButtonRefresh_Click;
+ //
+ // menuStrip1
+ //
+ menuStrip1.ImageScalingSize = new Size(20, 20);
+ menuStrip1.Items.AddRange(new ToolStripItem[] { справочникиToolStripMenuItem, операцииToolStripMenuItem, отчётыToolStripMenuItem });
+ menuStrip1.Location = new Point(0, 0);
+ menuStrip1.Name = "menuStrip1";
+ menuStrip1.Size = new Size(1169, 28);
+ menuStrip1.TabIndex = 7;
+ menuStrip1.Text = "menuStrip1";
+ //
+ // справочникиToolStripMenuItem
+ //
+ справочникиToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { компонентыToolStripMenuItem, текстилиToolStripMenuItem, магазиныToolStripMenuItem });
+ справочникиToolStripMenuItem.Name = "справочникиToolStripMenuItem";
+ справочникиToolStripMenuItem.Size = new Size(117, 24);
+ справочникиToolStripMenuItem.Text = "Справочники";
+ //
+ // компонентыToolStripMenuItem
+ //
+ компонентыToolStripMenuItem.Name = "компонентыToolStripMenuItem";
+ компонентыToolStripMenuItem.Size = new Size(182, 26);
+ компонентыToolStripMenuItem.Text = "Компоненты";
+ компонентыToolStripMenuItem.Click += компонентыToolStripMenuItem_Click;
+ //
+ // текстилиToolStripMenuItem
+ //
+ текстилиToolStripMenuItem.Name = "текстилиToolStripMenuItem";
+ текстилиToolStripMenuItem.Size = new Size(182, 26);
+ текстилиToolStripMenuItem.Text = "Текстили";
+ текстилиToolStripMenuItem.Click += текстилиToolStripMenuItem_Click;
+ //
+ // магазиныToolStripMenuItem
+ //
+ магазиныToolStripMenuItem.Name = "магазиныToolStripMenuItem";
+ магазиныToolStripMenuItem.Size = new Size(182, 26);
+ магазиныToolStripMenuItem.Text = "Магазины";
+ магазиныToolStripMenuItem.Click += магазиныToolStripMenuItem_Click;
+ //
+ // операцииToolStripMenuItem
+ //
+ операцииToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { пополнениеМагазинаToolStripMenuItem1, продажаТовараToolStripMenuItem });
+ операцииToolStripMenuItem.Name = "операцииToolStripMenuItem";
+ операцииToolStripMenuItem.Size = new Size(95, 24);
+ операцииToolStripMenuItem.Text = "Операции";
+ //
+ // пополнениеМагазинаToolStripMenuItem1
+ //
+ пополнениеМагазинаToolStripMenuItem1.Name = "пополнениеМагазинаToolStripMenuItem1";
+ пополнениеМагазинаToolStripMenuItem1.Size = new Size(251, 26);
+ пополнениеМагазинаToolStripMenuItem1.Text = "Пополнение магазина";
+ пополнениеМагазинаToolStripMenuItem1.Click += пополнениеМагазинаToolStripMenuItem1_Click;
+ //
+ // продажаТовараToolStripMenuItem
+ //
+ продажаТовараToolStripMenuItem.Name = "продажаТовараToolStripMenuItem";
+ продажаТовараToolStripMenuItem.Size = new Size(251, 26);
+ продажаТовараToolStripMenuItem.Text = "Продажа товара";
+ продажаТовараToolStripMenuItem.Click += продажаТовараToolStripMenuItem_Click;
+ //
+ // отчётыToolStripMenuItem
+ //
+ отчётыToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { textilesToolStripMenuItem, textileComponentsToolStripMenuItem, ordersToolStripMenuItem, магазиныВDocToolStripMenuItem, загруженностьМагазиновToolStripMenuItem, заказыПоДатамToolStripMenuItem });
+ отчётыToolStripMenuItem.Name = "отчётыToolStripMenuItem";
+ отчётыToolStripMenuItem.Size = new Size(73, 24);
+ отчётыToolStripMenuItem.Text = "Отчёты";
+ //
+ // textilesToolStripMenuItem
+ //
+ textilesToolStripMenuItem.Name = "textilesToolStripMenuItem";
+ textilesToolStripMenuItem.Size = new Size(276, 26);
+ textilesToolStripMenuItem.Text = "Текстили";
+ textilesToolStripMenuItem.Click += TextilesToolStripMenuItem_Click;
+ //
+ // textileComponentsToolStripMenuItem
+ //
+ textileComponentsToolStripMenuItem.Name = "textileComponentsToolStripMenuItem";
+ textileComponentsToolStripMenuItem.Size = new Size(276, 26);
+ textileComponentsToolStripMenuItem.Text = "Текстили с компонентами";
+ textileComponentsToolStripMenuItem.Click += ComponentTextilesToolStripMenuItem_Click;
+ //
+ // ordersToolStripMenuItem
+ //
+ ordersToolStripMenuItem.Name = "ordersToolStripMenuItem";
+ ordersToolStripMenuItem.Size = new Size(276, 26);
+ ordersToolStripMenuItem.Text = "Заказы";
+ ordersToolStripMenuItem.Click += OrdersToolStripMenuItem_Click;
+ //
+ // магазиныВDocToolStripMenuItem
+ //
+ магазиныВDocToolStripMenuItem.Name = "магазиныВDocToolStripMenuItem";
+ магазиныВDocToolStripMenuItem.Size = new Size(276, 26);
+ магазиныВDocToolStripMenuItem.Text = "Магазины в doc";
+ магазиныВDocToolStripMenuItem.Click += магазиныВDocToolStripMenuItem_Click;
+ //
+ // загруженностьМагазиновToolStripMenuItem
+ //
+ загруженностьМагазиновToolStripMenuItem.Name = "загруженностьМагазиновToolStripMenuItem";
+ загруженностьМагазиновToolStripMenuItem.Size = new Size(276, 26);
+ загруженностьМагазиновToolStripMenuItem.Text = "Загруженность магазинов";
+ загруженностьМагазиновToolStripMenuItem.Click += загруженностьМагазиновToolStripMenuItem_Click;
+ //
+ // заказыПоДатамToolStripMenuItem
+ //
+ заказыПоДатамToolStripMenuItem.Name = "заказыПоДатамToolStripMenuItem";
+ заказыПоДатамToolStripMenuItem.Size = new Size(276, 26);
+ заказыПоДатамToolStripMenuItem.Text = "Заказы по датам";
+ заказыПоДатамToolStripMenuItem.Click += заказыПоДатамToolStripMenuItem_Click;
+ //
+ // FormMain
+ //
+ AutoScaleDimensions = new SizeF(8F, 20F);
+ AutoScaleMode = AutoScaleMode.Font;
+ ClientSize = new Size(1169, 453);
+ Controls.Add(menuStrip1);
+ Controls.Add(buttonRefresh);
+ Controls.Add(buttonCompletedOrder);
+ Controls.Add(buttonOrderReady);
+ Controls.Add(buttonTakeOrderInWork);
+ Controls.Add(buttonCreateOrder);
+ Controls.Add(dataGridView);
+ MainMenuStrip = menuStrip1;
+ Name = "FormMain";
+ Text = "Швейная фабрика";
+ Load += FormMain_Load;
+ ((System.ComponentModel.ISupportInitialize)dataGridView).EndInit();
+ menuStrip1.ResumeLayout(false);
+ menuStrip1.PerformLayout();
+ ResumeLayout(false);
+ PerformLayout();
+ }
- #endregion
+ #endregion
- private DataGridView dataGridView;
- private Button buttonCreateOrder;
- private Button buttonTakeOrderInWork;
- private Button buttonOrderReady;
- private Button buttonCompletedOrder;
- private Button buttonRefresh;
- private MenuStrip menuStrip1;
- private ToolStripMenuItem справочникиToolStripMenuItem;
- private ToolStripMenuItem компонентыToolStripMenuItem;
- private ToolStripMenuItem текстилиToolStripMenuItem;
- private ToolStripMenuItem магазиныToolStripMenuItem;
- private ToolStripMenuItem операцииToolStripMenuItem;
- private ToolStripMenuItem пополнениеМагазинаToolStripMenuItem1;
- private ToolStripMenuItem продажаТовараToolStripMenuItem;
- }
+ private DataGridView dataGridView;
+ private Button buttonCreateOrder;
+ private Button buttonTakeOrderInWork;
+ private Button buttonOrderReady;
+ private Button buttonCompletedOrder;
+ private Button buttonRefresh;
+ private MenuStrip menuStrip1;
+ private ToolStripMenuItem справочникиToolStripMenuItem;
+ private ToolStripMenuItem компонентыToolStripMenuItem;
+ private ToolStripMenuItem текстилиToolStripMenuItem;
+ private ToolStripMenuItem магазиныToolStripMenuItem;
+ private ToolStripMenuItem операцииToolStripMenuItem;
+ private ToolStripMenuItem пополнениеМагазинаToolStripMenuItem1;
+ private ToolStripMenuItem продажаТовараToolStripMenuItem;
+ private ToolStripMenuItem отчётыToolStripMenuItem;
+ private ToolStripMenuItem textilesToolStripMenuItem;
+ private ToolStripMenuItem textileComponentsToolStripMenuItem;
+ private ToolStripMenuItem ordersToolStripMenuItem;
+ private ToolStripMenuItem магазиныВDocToolStripMenuItem;
+ private ToolStripMenuItem загруженностьМагазиновToolStripMenuItem;
+ private ToolStripMenuItem заказыПоДатамToolStripMenuItem;
+ }
}
\ No newline at end of file
diff --git a/GarmentFactory/FormMain.cs b/GarmentFactory/FormMain.cs
index 310a9f8..671e91e 100644
--- a/GarmentFactory/FormMain.cs
+++ b/GarmentFactory/FormMain.cs
@@ -1,4 +1,5 @@
using GarmentFactory;
+using GarmentFactoryBusinessLogic.BusinessLogics;
using GarmentFactoryContracts.BindingModels;
using GarmentFactoryContracts.BusinessLogicsContracts;
using Microsoft.Extensions.Logging;
@@ -14,168 +15,229 @@ using System.Windows.Forms;
namespace GarmentFactoryView
{
- public partial class FormMain : Form
- {
- private readonly ILogger _logger;
- private readonly IOrderLogic _orderLogic;
- public FormMain(ILogger logger, IOrderLogic orderLogic)
- {
- InitializeComponent();
- _logger = logger;
- _orderLogic = orderLogic;
- }
- private void LoadData()
- {
- _logger.LogInformation("Загрузка заказов");
- try
- {
- var list = _orderLogic.ReadList(null);
- if (list != null)
- {
- dataGridView.DataSource = list;
- dataGridView.Columns["TextileId"].Visible = false;
- dataGridView.Columns["TextileName"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
- }
- _logger.LogInformation("Загрузка заказов");
- }
- catch (Exception ex)
- {
- _logger.LogError(ex, "Ошибка загрузки заказов");
- MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- }
- private void FormMain_Load(object sender, EventArgs e)
- {
- LoadData();
- }
+ public partial class FormMain : Form
+ {
+ private readonly ILogger _logger;
+ private readonly IOrderLogic _orderLogic;
+ private readonly IReportLogic _reportLogic;
+ public FormMain(ILogger logger, IOrderLogic orderLogic, IReportLogic reportLogic)
+ {
+ InitializeComponent();
+ _logger = logger;
+ _orderLogic = orderLogic;
+ _reportLogic = reportLogic;
+ }
+ private void LoadData()
+ {
+ _logger.LogInformation("Загрузка заказов");
+ try
+ {
+ var list = _orderLogic.ReadList(null);
+ if (list != null)
+ {
+ dataGridView.DataSource = list;
+ dataGridView.Columns["TextileId"].Visible = false;
+ dataGridView.Columns["TextileName"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
+ }
+ _logger.LogInformation("Загрузка заказов");
+ }
+ catch (Exception ex)
+ {
+ _logger.LogError(ex, "Ошибка загрузки заказов");
+ MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+ private void FormMain_Load(object sender, EventArgs e)
+ {
+ LoadData();
+ }
- private void компонентыToolStripMenuItem_Click(object sender, EventArgs e)
- {
- var service = Program.ServiceProvider?.GetService(typeof(FormComponents));
- if (service is FormComponents form)
- {
- form.ShowDialog();
- }
+ private void компонентыToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ var service = Program.ServiceProvider?.GetService(typeof(FormComponents));
+ if (service is FormComponents form)
+ {
+ form.ShowDialog();
+ }
- }
+ }
- private void текстилиToolStripMenuItem_Click(object sender, EventArgs e)
- {
- var service = Program.ServiceProvider?.GetService(typeof(FormTextiles));
- if (service is FormTextiles form)
- {
- form.ShowDialog();
- }
- }
+ private void текстилиToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ var service = Program.ServiceProvider?.GetService(typeof(FormTextiles));
+ if (service is FormTextiles form)
+ {
+ form.ShowDialog();
+ }
+ }
- private void магазиныToolStripMenuItem_Click(object sender, EventArgs e)
- {
- var service = Program.ServiceProvider?.GetService(typeof(FormShops));
+ private void TextilesToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ using var dialog = new SaveFileDialog { Filter = "docx|*.docx" };
+ if (dialog.ShowDialog() == DialogResult.OK)
+ {
+ _reportLogic.SaveTextilesToWordFile(new ReportBindingModel
+ {
+ FileName = dialog.FileName
+ });
+ MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ }
+ private void ComponentTextilesToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ var service = Program.ServiceProvider?.GetService(typeof(FormReportTextileComponents));
+ if (service is FormReportTextileComponents form)
+ {
+ form.ShowDialog();
+ }
+ }
+ private void OrdersToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ var service = Program.ServiceProvider?.GetService(typeof(FormReportOrders));
+ if (service is FormReportOrders form)
+ {
+ form.ShowDialog();
+ }
+ }
- if (service is FormShops form)
- {
- form.ShowDialog();
- }
- }
- 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 });
- if (!operationResult)
- {
- throw new Exception("Ошибка при сохранении. Дополнительная информация в логах.");
- }
- LoadData();
- }
- catch (Exception ex)
- {
- _logger.LogError(ex, "Ошибка передачи заказа в работу");
- MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- }
- }
- 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);
- try
- {
- var operationResult = _orderLogic.FinishOrder(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 ButtonCompletedOrder_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("Ошибка при сохранении. Дополнительная информация в логах.");
- }
- _logger.LogInformation("Заказ №{id} выдан", id);
- LoadData();
- }
- catch (Exception ex)
- {
- _logger.LogError(ex, "Ошибка отметки о выдачи заказа");
- MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- }
- }
- private void ButtonRefresh_Click(object sender, EventArgs e)
- {
- LoadData();
- }
- private void пополнениеМагазинаToolStripMenuItem1_Click(object sender, EventArgs e)
- {
- var service = Program.ServiceProvider?.GetService(typeof(FormAddTextile));
+ private void магазиныToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ var service = Program.ServiceProvider?.GetService(typeof(FormShops));
- if (service is FormAddTextile form)
- {
- form.ShowDialog();
- }
- }
+ if (service is FormShops form)
+ {
+ form.ShowDialog();
+ }
+ }
- private void продажаТовараToolStripMenuItem_Click(object sender, EventArgs e)
- {
- var service = Program.ServiceProvider?.GetService(typeof(FormSellTextile));
- if (service is FormSellTextile form)
- {
- form.ShowDialog();
- }
- }
- }
+ 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 });
+ if (!operationResult)
+ {
+ throw new Exception("Ошибка при сохранении. Дополнительная информация в логах.");
+ }
+ LoadData();
+ }
+ catch (Exception ex)
+ {
+ _logger.LogError(ex, "Ошибка передачи заказа в работу");
+ MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+ }
+ 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);
+ try
+ {
+ var operationResult = _orderLogic.FinishOrder(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 ButtonCompletedOrder_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("Ошибка при сохранении. Дополнительная информация в логах.");
+ }
+ _logger.LogInformation("Заказ №{id} выдан", id);
+ LoadData();
+ }
+ catch (Exception ex)
+ {
+ _logger.LogError(ex, "Ошибка отметки о выдачи заказа");
+ MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+ }
+ private void ButtonRefresh_Click(object sender, EventArgs e)
+ {
+ LoadData();
+ }
+
+ private void пополнениеМагазинаToolStripMenuItem1_Click(object sender, EventArgs e)
+ {
+ var service = Program.ServiceProvider?.GetService(typeof(FormAddTextile));
+
+ if (service is FormAddTextile form)
+ {
+ form.ShowDialog();
+ }
+ }
+
+ private void продажаТовараToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ var service = Program.ServiceProvider?.GetService(typeof(FormSellTextile));
+ if (service is FormSellTextile form)
+ {
+ form.ShowDialog();
+ }
+ }
+
+ private void магазиныВDocToolStripMenuItem_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 загруженностьМагазиновToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ var service = Program.ServiceProvider?.GetService(typeof(FormReportShops));
+ if (service is FormReportShops form)
+ {
+ form.ShowDialog();
+ }
+ }
+
+ private void заказыПоДатамToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ var service = Program.ServiceProvider?.GetService(typeof(FormReportGroupedOrders));
+ if (service is FormReportGroupedOrders form)
+ {
+ form.ShowDialog();
+ }
+ }
+ }
}
diff --git a/GarmentFactory/FormReportGroupedOrders.Designer.cs b/GarmentFactory/FormReportGroupedOrders.Designer.cs
new file mode 100644
index 0000000..911a695
--- /dev/null
+++ b/GarmentFactory/FormReportGroupedOrders.Designer.cs
@@ -0,0 +1,86 @@
+namespace GarmentFactoryView
+{
+ 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()
+ {
+ this.panel = new System.Windows.Forms.Panel();
+ this.buttonToPDF = new System.Windows.Forms.Button();
+ this.buttonMake = new System.Windows.Forms.Button();
+ this.panel.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // panel
+ //
+ this.panel.Controls.Add(this.buttonToPDF);
+ this.panel.Controls.Add(this.buttonMake);
+ this.panel.Dock = System.Windows.Forms.DockStyle.Top;
+ this.panel.Location = new System.Drawing.Point(0, 0);
+ this.panel.Name = "panel";
+ this.panel.Size = new System.Drawing.Size(970, 52);
+ this.panel.TabIndex = 1;
+ //
+ // buttonToPDF
+ //
+ this.buttonToPDF.Location = new System.Drawing.Point(486, 12);
+ this.buttonToPDF.Name = "buttonToPDF";
+ this.buttonToPDF.Size = new System.Drawing.Size(411, 29);
+ this.buttonToPDF.TabIndex = 5;
+ this.buttonToPDF.Text = "В PDF";
+ this.buttonToPDF.UseVisualStyleBackColor = true;
+ this.buttonToPDF.Click += new System.EventHandler(this.buttonToPDF_Click);
+ //
+ // buttonMake
+ //
+ this.buttonMake.Location = new System.Drawing.Point(49, 12);
+ this.buttonMake.Name = "buttonMake";
+ this.buttonMake.Size = new System.Drawing.Size(377, 29);
+ this.buttonMake.TabIndex = 4;
+ this.buttonMake.Text = "Сформировать";
+ this.buttonMake.UseVisualStyleBackColor = true;
+ this.buttonMake.Click += new System.EventHandler(this.ButtonMake_Click);
+ //
+ // FormReportGroupedOrders
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(970, 450);
+ this.Controls.Add(this.panel);
+ this.Name = "FormReportGroupedOrders";
+ this.Text = "Отчёт по группированным заказам ";
+ this.panel.ResumeLayout(false);
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private Panel panel;
+ private Button buttonToPDF;
+ private Button buttonMake;
+ }
+}
\ No newline at end of file
diff --git a/GarmentFactory/FormReportGroupedOrders.cs b/GarmentFactory/FormReportGroupedOrders.cs
new file mode 100644
index 0000000..28a041b
--- /dev/null
+++ b/GarmentFactory/FormReportGroupedOrders.cs
@@ -0,0 +1,80 @@
+using GarmentFactoryContracts.BindingModels;
+using GarmentFactoryContracts.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 GarmentFactoryView
+{
+ 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("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/GarmentFactory/FormReportGroupedOrders.resx b/GarmentFactory/FormReportGroupedOrders.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/GarmentFactory/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/GarmentFactory/FormReportOrders.Designer.cs b/GarmentFactory/FormReportOrders.Designer.cs
new file mode 100644
index 0000000..69aff45
--- /dev/null
+++ b/GarmentFactory/FormReportOrders.Designer.cs
@@ -0,0 +1,130 @@
+namespace GarmentFactoryView
+{
+ partial class FormReportOrders
+ {
+ ///
+ /// 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();
+ dateTimePickerTo = new DateTimePicker();
+ dateTimePickerFrom = new DateTimePicker();
+ labelTo = new Label();
+ labelFrom = new Label();
+ panel.SuspendLayout();
+ SuspendLayout();
+ //
+ // panel
+ //
+ panel.Controls.Add(buttonToPDF);
+ panel.Controls.Add(buttonMake);
+ panel.Controls.Add(dateTimePickerTo);
+ panel.Controls.Add(dateTimePickerFrom);
+ panel.Controls.Add(labelTo);
+ panel.Controls.Add(labelFrom);
+ panel.Dock = DockStyle.Top;
+ panel.Location = new Point(0, 0);
+ panel.Name = "panel";
+ panel.Size = new Size(800, 55);
+ panel.TabIndex = 0;
+ //
+ // buttonToPDF
+ //
+ buttonToPDF.Location = new Point(660, 12);
+ buttonToPDF.Name = "buttonToPDF";
+ buttonToPDF.Size = new Size(107, 29);
+ buttonToPDF.TabIndex = 5;
+ buttonToPDF.Text = "В PDF";
+ buttonToPDF.UseVisualStyleBackColor = true;
+ buttonToPDF.Click += ButtonToPdf_Click;
+ //
+ // buttonMake
+ //
+ buttonMake.Location = new Point(463, 12);
+ buttonMake.Name = "buttonMake";
+ buttonMake.Size = new Size(134, 29);
+ buttonMake.TabIndex = 4;
+ buttonMake.Text = "Сформировать";
+ buttonMake.UseVisualStyleBackColor = true;
+ buttonMake.Click += ButtonMake_Click;
+ //
+ // dateTimePickerTo
+ //
+ dateTimePickerTo.Location = new Point(234, 12);
+ dateTimePickerTo.Name = "dateTimePickerTo";
+ dateTimePickerTo.Size = new Size(160, 27);
+ dateTimePickerTo.TabIndex = 3;
+ //
+ // dateTimePickerFrom
+ //
+ dateTimePickerFrom.Location = new Point(35, 12);
+ dateTimePickerFrom.Name = "dateTimePickerFrom";
+ dateTimePickerFrom.Size = new Size(160, 27);
+ dateTimePickerFrom.TabIndex = 2;
+ //
+ // labelTo
+ //
+ labelTo.AutoSize = true;
+ labelTo.Location = new Point(201, 17);
+ labelTo.Name = "labelTo";
+ labelTo.Size = new Size(27, 20);
+ labelTo.TabIndex = 1;
+ labelTo.Text = "по";
+ //
+ // labelFrom
+ //
+ labelFrom.AutoSize = true;
+ labelFrom.Location = new Point(11, 17);
+ labelFrom.Name = "labelFrom";
+ labelFrom.Size = new Size(18, 20);
+ labelFrom.TabIndex = 0;
+ labelFrom.Text = "С";
+ //
+ // FormReportOrders
+ //
+ AutoScaleDimensions = new SizeF(8F, 20F);
+ AutoScaleMode = AutoScaleMode.Font;
+ ClientSize = new Size(800, 450);
+ Controls.Add(panel);
+ Name = "FormReportOrders";
+ Text = "Заказы";
+ panel.ResumeLayout(false);
+ panel.PerformLayout();
+ ResumeLayout(false);
+ }
+
+ #endregion
+
+ private Panel panel;
+ private DateTimePicker dateTimePickerTo;
+ private DateTimePicker dateTimePickerFrom;
+ private Label labelTo;
+ private Label labelFrom;
+ private Button buttonToPDF;
+ private Button buttonMake;
+ }
+}
\ No newline at end of file
diff --git a/GarmentFactory/FormReportOrders.cs b/GarmentFactory/FormReportOrders.cs
new file mode 100644
index 0000000..cd9a1e3
--- /dev/null
+++ b/GarmentFactory/FormReportOrders.cs
@@ -0,0 +1,98 @@
+using GarmentFactoryContracts.BindingModels;
+using GarmentFactoryContracts.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 GarmentFactoryView
+{
+ public partial class FormReportOrders : Form
+ {
+ private readonly ReportViewer reportViewer;
+ private readonly ILogger _logger;
+ private readonly IReportLogic _logic;
+
+ public FormReportOrders(ILogger logger, IReportLogic logic)
+ {
+ InitializeComponent();
+ _logger = logger;
+ _logic = logic;
+ reportViewer = new ReportViewer
+ {
+ Dock = DockStyle.Fill
+ };
+ reportViewer.LocalReport.LoadReportDefinition(new FileStream("ReportOrders.rdlc", FileMode.Open));
+ Controls.Clear();
+ Controls.Add(reportViewer);
+ Controls.Add(panel);
+ }
+
+ private void ButtonMake_Click(object sender, EventArgs e)
+ {
+ if (dateTimePickerFrom.Value.Date >= dateTimePickerTo.Value.Date)
+ {
+ MessageBox.Show("Дата начала должна быть меньше даты окончания", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+ try
+ {
+ var dataSource = _logic.GetOrders(new ReportBindingModel
+ {
+ DateFrom = dateTimePickerFrom.Value,
+ DateTo = dateTimePickerTo.Value
+ });
+ var source = new ReportDataSource("DataSetOrders", dataSource);
+ reportViewer.LocalReport.DataSources.Clear();
+ reportViewer.LocalReport.DataSources.Add(source);
+ var parameters = new[] { new ReportParameter("ReportParameterPeriod",
+ $"c {dateTimePickerFrom.Value.ToShortDateString()} по {dateTimePickerTo.Value.ToShortDateString()}") };
+ reportViewer.LocalReport.SetParameters(parameters);
+
+ reportViewer.RefreshReport();
+ _logger.LogInformation("Загрузка списка заказов на период {From}-{To}", dateTimePickerFrom.Value.ToShortDateString(), dateTimePickerTo.Value.ToShortDateString());
+ }
+ catch (Exception ex)
+ {
+ _logger.LogError(ex, "Ошибка загрузки списка заказов на период");
+ MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+
+ private void ButtonToPdf_Click(object sender, EventArgs e)
+ {
+ if (dateTimePickerFrom.Value.Date >= dateTimePickerTo.Value.Date)
+ {
+ MessageBox.Show("Дата начала должна быть меньше даты окончания", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+ using var dialog = new SaveFileDialog { Filter = "pdf|*.pdf" };
+ if (dialog.ShowDialog() == DialogResult.OK)
+ {
+ try
+ {
+ _logic.SaveOrdersToPdfFile(new ReportBindingModel
+ {
+ FileName = dialog.FileName,
+ DateFrom = dateTimePickerFrom.Value,
+ DateTo = dateTimePickerTo.Value
+ });
+ _logger.LogInformation("Сохранение списка заказов на период {From}-{To}", dateTimePickerFrom.Value.ToShortDateString(), dateTimePickerTo.Value.ToShortDateString());
+ MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ catch (Exception ex)
+ {
+ _logger.LogError(ex, "Ошибка сохранения списка заказов на период");
+ MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+ }
+ }
+}
diff --git a/GarmentFactory/FormReportOrders.resx b/GarmentFactory/FormReportOrders.resx
new file mode 100644
index 0000000..af32865
--- /dev/null
+++ b/GarmentFactory/FormReportOrders.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/GarmentFactory/FormReportShops.Designer.cs b/GarmentFactory/FormReportShops.Designer.cs
new file mode 100644
index 0000000..92476bd
--- /dev/null
+++ b/GarmentFactory/FormReportShops.Designer.cs
@@ -0,0 +1,112 @@
+namespace GarmentFactoryView
+{
+ partial class FormReportShops
+ {
+ ///
+ /// 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()
+ {
+ buttonSaveToExcel = new Button();
+ dataGridView = new DataGridView();
+ ColumnShop = new DataGridViewTextBoxColumn();
+ ColumnTextile = new DataGridViewTextBoxColumn();
+ ColumnCount = new DataGridViewTextBoxColumn();
+ ((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit();
+ SuspendLayout();
+ //
+ // buttonSaveToExcel
+ //
+ buttonSaveToExcel.Location = new Point(12, 9);
+ buttonSaveToExcel.Name = "buttonSaveToExcel";
+ buttonSaveToExcel.Size = new Size(169, 29);
+ buttonSaveToExcel.TabIndex = 3;
+ buttonSaveToExcel.Text = "Сохранить в Excel";
+ buttonSaveToExcel.UseVisualStyleBackColor = true;
+ buttonSaveToExcel.Click += ButtonSaveToExcel_Click;
+ //
+ // dataGridView
+ //
+ dataGridView.AllowUserToAddRows = false;
+ dataGridView.AllowUserToDeleteRows = false;
+ dataGridView.AllowUserToOrderColumns = true;
+ dataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
+ dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ dataGridView.Columns.AddRange(new DataGridViewColumn[] { ColumnShop, ColumnTextile, ColumnCount });
+ dataGridView.Dock = DockStyle.Bottom;
+ dataGridView.Location = new Point(0, 47);
+ dataGridView.Name = "dataGridView";
+ dataGridView.ReadOnly = true;
+ dataGridView.RowHeadersWidth = 51;
+ dataGridView.RowTemplate.Height = 29;
+ dataGridView.Size = new Size(598, 403);
+ dataGridView.TabIndex = 2;
+ //
+ // ColumnShop
+ //
+ ColumnShop.FillWeight = 130F;
+ ColumnShop.HeaderText = "Магазин";
+ ColumnShop.MinimumWidth = 6;
+ ColumnShop.Name = "ColumnShop";
+ ColumnShop.ReadOnly = true;
+ //
+ // ColumnTextile
+ //
+ ColumnTextile.FillWeight = 140F;
+ ColumnTextile.HeaderText = "Текстиль";
+ ColumnTextile.MinimumWidth = 6;
+ ColumnTextile.Name = "ColumnTextile";
+ ColumnTextile.ReadOnly = true;
+ //
+ // ColumnCount
+ //
+ ColumnCount.FillWeight = 90F;
+ ColumnCount.HeaderText = "Количество";
+ ColumnCount.MinimumWidth = 6;
+ ColumnCount.Name = "ColumnCount";
+ ColumnCount.ReadOnly = true;
+ //
+ // FormReportShops
+ //
+ AutoScaleDimensions = new SizeF(8F, 20F);
+ AutoScaleMode = AutoScaleMode.Font;
+ ClientSize = new Size(598, 450);
+ Controls.Add(buttonSaveToExcel);
+ Controls.Add(dataGridView);
+ Name = "FormReportShops";
+ Text = "Загруженность магазинов";
+ Load += FormReportShops_Load;
+ ((System.ComponentModel.ISupportInitialize)dataGridView).EndInit();
+ ResumeLayout(false);
+ }
+
+ #endregion
+
+ private Button buttonSaveToExcel;
+ private DataGridView dataGridView;
+ private DataGridViewTextBoxColumn ColumnShop;
+ private DataGridViewTextBoxColumn ColumnTextile;
+ private DataGridViewTextBoxColumn ColumnCount;
+ }
+}
\ No newline at end of file
diff --git a/GarmentFactory/FormReportShops.cs b/GarmentFactory/FormReportShops.cs
new file mode 100644
index 0000000..6429159
--- /dev/null
+++ b/GarmentFactory/FormReportShops.cs
@@ -0,0 +1,78 @@
+using GarmentFactoryContracts.BindingModels;
+using GarmentFactoryContracts.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 GarmentFactoryView
+{
+ public partial class FormReportShops : Form
+ {
+ private readonly ILogger _logger;
+ private readonly IReportLogic _logic;
+
+ public FormReportShops(ILogger logger, IReportLogic logic)
+ {
+ InitializeComponent();
+ _logger = logger;
+ _logic = logic;
+ }
+
+ private void FormReportShops_Load(object sender, EventArgs e)
+ {
+ try
+ {
+ var shops = _logic.GetShops();
+ if (shops != null)
+ {
+ dataGridView.Rows.Clear();
+ foreach (var shop in shops)
+ {
+ dataGridView.Rows.Add(new object[] { shop.ShopName, "", "" });
+ foreach (var textile in shop.Textiles)
+ {
+ dataGridView.Rows.Add(new object[] { "", textile.Item1, textile.Item2 });
+ }
+ dataGridView.Rows.Add(new object[] { "Итого", "", shop.TotalCount });
+ dataGridView.Rows.Add(Array.Empty