формы

This commit is contained in:
Ino 2023-03-13 17:02:26 +04:00
parent 525ea2c9af
commit 2f7b71f1f8
9 changed files with 511 additions and 163 deletions

View File

@ -28,142 +28,170 @@
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
this.buttonUpdate = new System.Windows.Forms.Button(); buttonUpdate = new Button();
this.buttonSetToFinish = new System.Windows.Forms.Button(); buttonSetToFinish = new Button();
this.buttonSetToDone = new System.Windows.Forms.Button(); buttonSetToDone = new Button();
this.buttonSetToWork = new System.Windows.Forms.Button(); buttonSetToWork = new Button();
this.buttonCreateOrder = new System.Windows.Forms.Button(); buttonCreateOrder = new Button();
this.dataGridView = new System.Windows.Forms.DataGridView(); dataGridView = new DataGridView();
this.menuStrip = new System.Windows.Forms.MenuStrip(); menuStrip = new MenuStrip();
this.справочникиToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); справочникиToolStripMenuItem = new ToolStripMenuItem();
this.компонентыToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); компонентыToolStripMenuItem = new ToolStripMenuItem();
this.мороженоеToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); мороженоеToolStripMenuItem = new ToolStripMenuItem();
((System.ComponentModel.ISupportInitialize)(this.dataGridView)).BeginInit(); отчетыToolStripMenuItem = new ToolStripMenuItem();
this.menuStrip.SuspendLayout(); componentsToolStripMenuItem = new ToolStripMenuItem();
this.SuspendLayout(); componentIceCreamsToolStripMenuItem = new ToolStripMenuItem();
ordersToolStripMenuItem = new ToolStripMenuItem();
((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit();
menuStrip.SuspendLayout();
SuspendLayout();
// //
// buttonUpdate // buttonUpdate
// //
this.buttonUpdate.Location = new System.Drawing.Point(878, 294); buttonUpdate.Location = new Point(878, 294);
this.buttonUpdate.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); buttonUpdate.Margin = new Padding(3, 2, 3, 2);
this.buttonUpdate.Name = "buttonUpdate"; buttonUpdate.Name = "buttonUpdate";
this.buttonUpdate.Size = new System.Drawing.Size(170, 37); buttonUpdate.Size = new Size(170, 37);
this.buttonUpdate.TabIndex = 13; buttonUpdate.TabIndex = 13;
this.buttonUpdate.Text = "Обновить"; buttonUpdate.Text = "Обновить";
this.buttonUpdate.UseVisualStyleBackColor = true; buttonUpdate.UseVisualStyleBackColor = true;
this.buttonUpdate.Click += new System.EventHandler(this.buttonUpdate_Click); buttonUpdate.Click += buttonUpdate_Click;
// //
// buttonSetToFinish // buttonSetToFinish
// //
this.buttonSetToFinish.Location = new System.Drawing.Point(878, 225); buttonSetToFinish.Location = new Point(878, 225);
this.buttonSetToFinish.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); buttonSetToFinish.Margin = new Padding(3, 2, 3, 2);
this.buttonSetToFinish.Name = "buttonSetToFinish"; buttonSetToFinish.Name = "buttonSetToFinish";
this.buttonSetToFinish.Size = new System.Drawing.Size(170, 37); buttonSetToFinish.Size = new Size(170, 37);
this.buttonSetToFinish.TabIndex = 12; buttonSetToFinish.TabIndex = 12;
this.buttonSetToFinish.Text = "Заказ выдан"; buttonSetToFinish.Text = "Заказ выдан";
this.buttonSetToFinish.UseVisualStyleBackColor = true; buttonSetToFinish.UseVisualStyleBackColor = true;
this.buttonSetToFinish.Click += new System.EventHandler(this.buttonSetToFinish_Click); buttonSetToFinish.Click += buttonSetToFinish_Click;
// //
// buttonSetToDone // buttonSetToDone
// //
this.buttonSetToDone.Location = new System.Drawing.Point(878, 160); buttonSetToDone.Location = new Point(878, 160);
this.buttonSetToDone.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); buttonSetToDone.Margin = new Padding(3, 2, 3, 2);
this.buttonSetToDone.Name = "buttonSetToDone"; buttonSetToDone.Name = "buttonSetToDone";
this.buttonSetToDone.Size = new System.Drawing.Size(170, 37); buttonSetToDone.Size = new Size(170, 37);
this.buttonSetToDone.TabIndex = 11; buttonSetToDone.TabIndex = 11;
this.buttonSetToDone.Text = "Заказ готов"; buttonSetToDone.Text = "Заказ готов";
this.buttonSetToDone.UseVisualStyleBackColor = true; buttonSetToDone.UseVisualStyleBackColor = true;
this.buttonSetToDone.Click += new System.EventHandler(this.buttonSetToDone_Click); buttonSetToDone.Click += buttonSetToDone_Click;
// //
// buttonSetToWork // buttonSetToWork
// //
this.buttonSetToWork.Location = new System.Drawing.Point(878, 93); buttonSetToWork.Location = new Point(878, 93);
this.buttonSetToWork.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); buttonSetToWork.Margin = new Padding(3, 2, 3, 2);
this.buttonSetToWork.Name = "buttonSetToWork"; buttonSetToWork.Name = "buttonSetToWork";
this.buttonSetToWork.Size = new System.Drawing.Size(170, 37); buttonSetToWork.Size = new Size(170, 37);
this.buttonSetToWork.TabIndex = 10; buttonSetToWork.TabIndex = 10;
this.buttonSetToWork.Text = "Отдать на выполнение"; buttonSetToWork.Text = "Отдать на выполнение";
this.buttonSetToWork.UseVisualStyleBackColor = true; buttonSetToWork.UseVisualStyleBackColor = true;
this.buttonSetToWork.Click += new System.EventHandler(this.buttonSetToWork_Click); buttonSetToWork.Click += buttonSetToWork_Click;
// //
// buttonCreateOrder // buttonCreateOrder
// //
this.buttonCreateOrder.Location = new System.Drawing.Point(878, 26); buttonCreateOrder.Location = new Point(878, 26);
this.buttonCreateOrder.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); buttonCreateOrder.Margin = new Padding(3, 2, 3, 2);
this.buttonCreateOrder.Name = "buttonCreateOrder"; buttonCreateOrder.Name = "buttonCreateOrder";
this.buttonCreateOrder.Size = new System.Drawing.Size(170, 37); buttonCreateOrder.Size = new Size(170, 37);
this.buttonCreateOrder.TabIndex = 9; buttonCreateOrder.TabIndex = 9;
this.buttonCreateOrder.Text = "Создать заказ"; buttonCreateOrder.Text = "Создать заказ";
this.buttonCreateOrder.UseVisualStyleBackColor = true; buttonCreateOrder.UseVisualStyleBackColor = true;
this.buttonCreateOrder.Click += new System.EventHandler(this.buttonCreateOrder_Click); buttonCreateOrder.Click += buttonCreateOrder_Click;
// //
// dataGridView // dataGridView
// //
this.dataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView.Location = new System.Drawing.Point(12, 26); dataGridView.Location = new Point(12, 26);
this.dataGridView.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); dataGridView.Margin = new Padding(3, 2, 3, 2);
this.dataGridView.Name = "dataGridView"; dataGridView.Name = "dataGridView";
this.dataGridView.RowHeadersWidth = 51; dataGridView.RowHeadersWidth = 51;
this.dataGridView.RowTemplate.Height = 29; dataGridView.RowTemplate.Height = 29;
this.dataGridView.Size = new System.Drawing.Size(848, 305); dataGridView.Size = new Size(848, 305);
this.dataGridView.TabIndex = 8; dataGridView.TabIndex = 8;
// //
// menuStrip // menuStrip
// //
this.menuStrip.ImageScalingSize = new System.Drawing.Size(20, 20); menuStrip.ImageScalingSize = new Size(20, 20);
this.menuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { menuStrip.Items.AddRange(new ToolStripItem[] { справочникиToolStripMenuItem, отчетыToolStripMenuItem });
this.справочникиToolStripMenuItem}); menuStrip.Location = new Point(0, 0);
this.menuStrip.Location = new System.Drawing.Point(0, 0); menuStrip.Name = "menuStrip";
this.menuStrip.Name = "menuStrip"; menuStrip.Padding = new Padding(5, 2, 0, 2);
this.menuStrip.Padding = new System.Windows.Forms.Padding(5, 2, 0, 2); menuStrip.Size = new Size(1072, 24);
this.menuStrip.Size = new System.Drawing.Size(1072, 24); menuStrip.TabIndex = 7;
this.menuStrip.TabIndex = 7; menuStrip.Text = "Справочники";
this.menuStrip.Text = "Справочники";
// //
// справочникиToolStripMenuItem // справочникиToolStripMenuItem
// //
this.справочникиToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { справочникиToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { компонентыToolStripMenuItem, мороженоеToolStripMenuItem });
this.компонентыToolStripMenuItem, справочникиToolStripMenuItem.Name = "справочникиToolStripMenuItem";
this.мороженоеToolStripMenuItem}); справочникиToolStripMenuItem.Size = new Size(94, 20);
this.справочникиToolStripMenuItem.Name = "справочникиToolStripMenuItem"; справочникиToolStripMenuItem.Text = "Справочники";
this.справочникиToolStripMenuItem.Size = new System.Drawing.Size(94, 20);
this.справочникиToolStripMenuItem.Text = "Справочники";
// //
// компонентыToolStripMenuItem // компонентыToolStripMenuItem
// //
this.компонентыToolStripMenuItem.Name = омпонентыToolStripMenuItem"; компонентыToolStripMenuItem.Name = омпонентыToolStripMenuItem";
this.компонентыToolStripMenuItem.Size = new System.Drawing.Size(180, 22); компонентыToolStripMenuItem.Size = new Size(145, 22);
this.компонентыToolStripMenuItem.Text = "Компоненты"; компонентыToolStripMenuItem.Text = "Компоненты";
this.компонентыToolStripMenuItem.Click += new System.EventHandler(this.компонентыToolStripMenuItem_Click); компонентыToolStripMenuItem.Click += компонентыToolStripMenuItem_Click;
// //
// мороженоеToolStripMenuItem // мороженоеToolStripMenuItem
// //
this.мороженоеToolStripMenuItem.Name = ороженоеToolStripMenuItem"; мороженоеToolStripMenuItem.Name = ороженоеToolStripMenuItem";
this.мороженоеToolStripMenuItem.Size = new System.Drawing.Size(180, 22); мороженоеToolStripMenuItem.Size = new Size(145, 22);
this.мороженоеToolStripMenuItem.Text = "Мороженое"; мороженоеToolStripMenuItem.Text = "Мороженое";
this.мороженоеToolStripMenuItem.Click += new System.EventHandler(this.мороженоеToolStripMenuItem_Click); мороженоеToolStripMenuItem.Click += мороженоеToolStripMenuItem_Click;
//
// отчетыToolStripMenuItem
//
отчетыToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { componentsToolStripMenuItem, componentIceCreamsToolStripMenuItem, ordersToolStripMenuItem });
отчетыToolStripMenuItem.Name = "отчетыToolStripMenuItem";
отчетыToolStripMenuItem.Size = new Size(60, 20);
отчетыToolStripMenuItem.Text = "Отчеты";
//
// componentsToolStripMenuItem
//
componentsToolStripMenuItem.Name = "componentsToolStripMenuItem";
componentsToolStripMenuItem.Size = new Size(235, 22);
componentsToolStripMenuItem.Text = "Список компонентов";
componentsToolStripMenuItem.Click += ComponentsToolStripMenuItem_Click;
//
// componentIceCreamsToolStripMenuItem
//
componentIceCreamsToolStripMenuItem.Name = "componentIceCreamsToolStripMenuItem";
componentIceCreamsToolStripMenuItem.Size = new Size(235, 22);
componentIceCreamsToolStripMenuItem.Text = "Компоненты по мороженым";
componentIceCreamsToolStripMenuItem.Click += ComponentIceCreamsToolStripMenuItem_Click;
//
// ordersToolStripMenuItem
//
ordersToolStripMenuItem.Name = "ordersToolStripMenuItem";
ordersToolStripMenuItem.Size = new Size(235, 22);
ordersToolStripMenuItem.Text = "Список заказов";
ordersToolStripMenuItem.Click += OrdersToolStripMenuItem_Click;
// //
// FormMain // FormMain
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); AutoScaleDimensions = new SizeF(7F, 15F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; AutoScaleMode = AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1072, 347); ClientSize = new Size(1072, 347);
this.Controls.Add(this.buttonUpdate); Controls.Add(buttonUpdate);
this.Controls.Add(this.buttonSetToFinish); Controls.Add(buttonSetToFinish);
this.Controls.Add(this.buttonSetToDone); Controls.Add(buttonSetToDone);
this.Controls.Add(this.buttonSetToWork); Controls.Add(buttonSetToWork);
this.Controls.Add(this.buttonCreateOrder); Controls.Add(buttonCreateOrder);
this.Controls.Add(this.dataGridView); Controls.Add(dataGridView);
this.Controls.Add(this.menuStrip); Controls.Add(menuStrip);
this.Name = "FormMain"; Name = "FormMain";
this.Text = "Магазин мороженого"; Text = "Магазин мороженого";
this.Load += new System.EventHandler(this.FormMain_Load); Load += FormMain_Load;
((System.ComponentModel.ISupportInitialize)(this.dataGridView)).EndInit(); ((System.ComponentModel.ISupportInitialize)dataGridView).EndInit();
this.menuStrip.ResumeLayout(false); menuStrip.ResumeLayout(false);
this.menuStrip.PerformLayout(); menuStrip.PerformLayout();
this.ResumeLayout(false); ResumeLayout(false);
this.PerformLayout(); PerformLayout();
} }
#endregion #endregion
@ -178,5 +206,9 @@
private ToolStripMenuItem справочникиToolStripMenuItem; private ToolStripMenuItem справочникиToolStripMenuItem;
private ToolStripMenuItem компонентыToolStripMenuItem; private ToolStripMenuItem компонентыToolStripMenuItem;
private ToolStripMenuItem мороженоеToolStripMenuItem; private ToolStripMenuItem мороженоеToolStripMenuItem;
private ToolStripMenuItem отчетыToolStripMenuItem;
private ToolStripMenuItem componentsToolStripMenuItem;
private ToolStripMenuItem componentIceCreamsToolStripMenuItem;
private ToolStripMenuItem ordersToolStripMenuItem;
} }
} }

View File

@ -1,4 +1,5 @@
using AbstractIceCreamShopDataModels.Enums; using AbstractIceCreamShopDataModels.Enums;
using IceCreamBusinessLogic.BusinessLogics;
using IceCreamShop; using IceCreamShop;
using IceCreamShopContracts.BindingModels; using IceCreamShopContracts.BindingModels;
using IceCreamShopContracts.BusinessLogicsContracts; using IceCreamShopContracts.BusinessLogicsContracts;
@ -19,11 +20,13 @@ namespace IceCreamShopView
{ {
private readonly ILogger _logger; private readonly ILogger _logger;
private readonly IOrderLogic _orderLogic; private readonly IOrderLogic _orderLogic;
public FormMain(ILogger<FormMain> logger, IOrderLogic orderLogic) private readonly IReportLogic _reportLogic;
public FormMain(ILogger<FormMain> logger, IOrderLogic orderLogic, IReportLogic reportLogic)
{ {
InitializeComponent(); InitializeComponent();
_logger = logger; _logger = logger;
_orderLogic = orderLogic; _orderLogic = orderLogic;
_reportLogic = reportLogic;
} }
private void FormMain_Load(object sender, EventArgs e) private void FormMain_Load(object sender, EventArgs e)
@ -88,7 +91,7 @@ namespace IceCreamShopView
try try
{ {
var operationResult = _orderLogic.TakeOrderInWork(new OrderBindingModel var operationResult = _orderLogic.TakeOrderInWork(new OrderBindingModel
{ {
Id = id, Id = id,
}); });
if (!operationResult) if (!operationResult)
@ -163,5 +166,33 @@ namespace IceCreamShopView
{ {
LoadData(); LoadData();
} }
private void ComponentsToolStripMenuItem_Click(object sender, EventArgs e)
{
using var dialog = new SaveFileDialog { Filter = "docx|*.docx" };
if (dialog.ShowDialog() == DialogResult.OK)
{
_reportLogic.SaveComponentsToWordFile(new ReportBindingModel { FileName = dialog.FileName });
MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
private void ComponentIceCreamsToolStripMenuItem_Click(object sender, EventArgs e)
{
var service = Program.ServiceProvider?.GetService(typeof(FormReportProductComponents));
if (service is FormReportProductComponents 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();
}
}
} }
} }

View File

@ -0,0 +1,136 @@
namespace IceCreamShopView
{
partial class FormReportOrders
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
buttonToPdf = new Button();
panel = new Panel();
buttonMake = new Button();
dateTimePickerTo = new DateTimePicker();
labelTo = new Label();
dateTimePickerFrom = new DateTimePicker();
labelFrom = new Label();
panel.SuspendLayout();
SuspendLayout();
//
// buttonToPdf
//
buttonToPdf.Anchor = AnchorStyles.Top | AnchorStyles.Right;
buttonToPdf.Location = new Point(819, 8);
buttonToPdf.Margin = new Padding(4, 3, 4, 3);
buttonToPdf.Name = "buttonToPdf";
buttonToPdf.Size = new Size(139, 27);
buttonToPdf.TabIndex = 6;
buttonToPdf.Text = "В Pdf";
buttonToPdf.UseVisualStyleBackColor = true;
//
// panel
//
panel.Controls.Add(buttonMake);
panel.Controls.Add(buttonToPdf);
panel.Controls.Add(dateTimePickerTo);
panel.Controls.Add(labelTo);
panel.Controls.Add(dateTimePickerFrom);
panel.Controls.Add(labelFrom);
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(1006, 40);
panel.TabIndex = 7;
//
// 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;
//
// dateTimePickerTo
//
dateTimePickerTo.Location = new Point(237, 7);
dateTimePickerTo.Margin = new Padding(4, 3, 4, 3);
dateTimePickerTo.Name = "dateTimePickerTo";
dateTimePickerTo.Size = new Size(163, 23);
dateTimePickerTo.TabIndex = 3;
//
// labelTo
//
labelTo.AutoSize = true;
labelTo.Location = new Point(208, 10);
labelTo.Margin = new Padding(4, 0, 4, 0);
labelTo.Name = "labelTo";
labelTo.Size = new Size(21, 15);
labelTo.TabIndex = 2;
labelTo.Text = "по";
//
// dateTimePickerFrom
//
dateTimePickerFrom.Location = new Point(37, 7);
dateTimePickerFrom.Margin = new Padding(4, 3, 4, 3);
dateTimePickerFrom.Name = "dateTimePickerFrom";
dateTimePickerFrom.Size = new Size(163, 23);
dateTimePickerFrom.TabIndex = 1;
//
// labelFrom
//
labelFrom.AutoSize = true;
labelFrom.Location = new Point(14, 10);
labelFrom.Margin = new Padding(4, 0, 4, 0);
labelFrom.Name = "labelFrom";
labelFrom.Size = new Size(15, 15);
labelFrom.TabIndex = 0;
labelFrom.Text = "С";
//
// FormReportOrders
//
AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(1006, 450);
Controls.Add(panel);
Name = "FormReportOrders";
Text = "Заказы";
panel.ResumeLayout(false);
panel.PerformLayout();
ResumeLayout(false);
}
#endregion
private Button buttonToPdf;
private Panel panel;
private Button buttonMake;
private DateTimePicker dateTimePickerTo;
private Label labelTo;
private DateTimePicker dateTimePickerFrom;
private Label labelFrom;
}
}

View File

@ -0,0 +1,90 @@
using IceCreamShopContracts.BusinessLogicsContracts;
using Microsoft.Reporting.WinForms;
using Microsoft.Extensions.Logging;
using Microsoft.Reporting.WinForms;
using IceCreamShopContracts.BindingModels;
namespace IceCreamShopView
{
public partial class FormReportOrders : Form
{
private readonly ReportViewer reportViewer;
private readonly ILogger _logger;
private readonly IReportLogic _logic;
public FormReportOrders(ILogger<FormReportOrders> 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);
}
}
}
}
}

View File

@ -0,0 +1,60 @@
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -28,81 +28,77 @@
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
this.buttonSaveToExcel = new System.Windows.Forms.Button(); buttonSaveToExcel = new Button();
this.dataGridView = new System.Windows.Forms.DataGridView(); dataGridView = new DataGridView();
this.ColumnComponent = new System.Windows.Forms.DataGridViewTextBoxColumn(); ColumnComponent = new DataGridViewTextBoxColumn();
this.ColumnProduct = new System.Windows.Forms.DataGridViewTextBoxColumn(); ColumnProduct = new DataGridViewTextBoxColumn();
this.ColumnCount = new System.Windows.Forms.DataGridViewTextBoxColumn(); ColumnCount = new DataGridViewTextBoxColumn();
((System.ComponentModel.ISupportInitialize)(this.dataGridView)).BeginInit(); ((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit();
this.SuspendLayout(); SuspendLayout();
// //
// buttonSaveToExcel // buttonSaveToExcel
// //
this.buttonSaveToExcel.Location = new System.Drawing.Point(13, 12); buttonSaveToExcel.Location = new Point(13, 12);
this.buttonSaveToExcel.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); buttonSaveToExcel.Margin = new Padding(4, 3, 4, 3);
this.buttonSaveToExcel.Name = "buttonSaveToExcel"; buttonSaveToExcel.Name = "buttonSaveToExcel";
this.buttonSaveToExcel.Size = new System.Drawing.Size(186, 27); buttonSaveToExcel.Size = new Size(186, 27);
this.buttonSaveToExcel.TabIndex = 3; buttonSaveToExcel.TabIndex = 3;
this.buttonSaveToExcel.Text = "Сохранить в Excel"; buttonSaveToExcel.Text = "Сохранить в Excel";
this.buttonSaveToExcel.UseVisualStyleBackColor = true; buttonSaveToExcel.UseVisualStyleBackColor = true;
this.buttonSaveToExcel.Click += new System.EventHandler(this.buttonSaveToExcel_Click); buttonSaveToExcel.Click += buttonSaveToExcel_Click;
// //
// dataGridView // dataGridView
// //
this.dataGridView.AllowUserToAddRows = false; dataGridView.AllowUserToAddRows = false;
this.dataGridView.AllowUserToDeleteRows = false; dataGridView.AllowUserToDeleteRows = false;
this.dataGridView.AllowUserToOrderColumns = true; dataGridView.AllowUserToOrderColumns = true;
this.dataGridView.AllowUserToResizeColumns = false; dataGridView.AllowUserToResizeColumns = false;
this.dataGridView.AllowUserToResizeRows = false; dataGridView.AllowUserToResizeRows = false;
this.dataGridView.BackgroundColor = System.Drawing.SystemColors.ControlLightLight; dataGridView.BackgroundColor = SystemColors.ControlLightLight;
this.dataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { dataGridView.Columns.AddRange(new DataGridViewColumn[] { ColumnComponent, ColumnProduct, ColumnCount });
this.ColumnComponent, dataGridView.Dock = DockStyle.Bottom;
this.ColumnProduct, dataGridView.Location = new Point(0, 53);
this.ColumnCount}); dataGridView.Margin = new Padding(4, 3, 4, 3);
this.dataGridView.Dock = System.Windows.Forms.DockStyle.Bottom; dataGridView.MultiSelect = false;
this.dataGridView.Location = new System.Drawing.Point(0, 53); dataGridView.Name = "dataGridView";
this.dataGridView.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); dataGridView.ReadOnly = true;
this.dataGridView.MultiSelect = false; dataGridView.RowHeadersVisible = false;
this.dataGridView.Name = "dataGridView"; dataGridView.Size = new Size(800, 510);
this.dataGridView.ReadOnly = true; dataGridView.TabIndex = 4;
this.dataGridView.RowHeadersVisible = false;
this.dataGridView.Size = new System.Drawing.Size(800, 510);
this.dataGridView.TabIndex = 4;
// //
// ColumnComponent // ColumnComponent
// //
this.ColumnComponent.HeaderText = "Компонент"; ColumnComponent.HeaderText = "Компонент";
this.ColumnComponent.Name = "ColumnComponent"; ColumnComponent.Name = "ColumnComponent";
this.ColumnComponent.ReadOnly = true; ColumnComponent.ReadOnly = true;
this.ColumnComponent.Width = 200; ColumnComponent.Width = 200;
// //
// ColumnProduct // ColumnProduct
// //
this.ColumnProduct.HeaderText = "Мороженое"; ColumnProduct.HeaderText = "Мороженое";
this.ColumnProduct.Name = "ColumnProduct"; ColumnProduct.Name = "ColumnProduct";
this.ColumnProduct.ReadOnly = true; ColumnProduct.ReadOnly = true;
this.ColumnProduct.Width = 200; ColumnProduct.Width = 200;
// //
// ColumnCount // ColumnCount
// //
this.ColumnCount.HeaderText = "Количество"; ColumnCount.HeaderText = "Количество";
this.ColumnCount.Name = "ColumnCount"; ColumnCount.Name = "ColumnCount";
this.ColumnCount.ReadOnly = true; ColumnCount.ReadOnly = true;
// //
// FormReportProductComponents // FormReportProductComponents
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); AutoScaleDimensions = new SizeF(7F, 15F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; AutoScaleMode = AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(800, 563); ClientSize = new Size(800, 563);
this.Controls.Add(this.dataGridView); Controls.Add(dataGridView);
this.Controls.Add(this.buttonSaveToExcel); Controls.Add(buttonSaveToExcel);
this.Name = "FormReportProductComponents"; Name = "FormReportProductComponents";
this.Text = "FormReportProductComponents"; Text = "Компоненты по мороженым";
this.Load += new System.EventHandler(this.FormReportProductComponents_Load); Load += FormReportProductComponents_Load;
((System.ComponentModel.ISupportInitialize)(this.dataGridView)).EndInit(); ((System.ComponentModel.ISupportInitialize)dataGridView).EndInit();
this.ResumeLayout(false); ResumeLayout(false);
} }
#endregion #endregion

View File

@ -15,6 +15,7 @@
</PackageReference> </PackageReference>
<PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0" /> <PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0" />
<PackageReference Include="NLog.Extensions.Logging" Version="5.2.1" /> <PackageReference Include="NLog.Extensions.Logging" Version="5.2.1" />
<PackageReference Include="ReportViewerCore.WinForms" Version="15.1.17" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@ -58,6 +58,8 @@ namespace IceCreamShop
services.AddTransient<FormIceCream>(); services.AddTransient<FormIceCream>();
services.AddTransient<FormIceCreamComponent>(); services.AddTransient<FormIceCreamComponent>();
services.AddTransient<FormIceCreams>(); services.AddTransient<FormIceCreams>();
services.AddTransient<FormReportProductComponents>();
services.AddTransient<FormReportOrders>();
} }
} }
} }

View File

@ -10,7 +10,7 @@ using System.Xml.Linq;
namespace IceCreamShopFileImplement.Models namespace IceCreamShopFileImplement.Models
{ {
public class IceCream public class IceCream : IIceCreamModel
{ {
public int Id { get; private set; } public int Id { get; private set; }
public string IceCreamName { get; private set; } = string.Empty; public string IceCreamName { get; private set; } = string.Empty;