diff --git a/InternetShop/InternetShopForms/Orders/FormOrdersList.Designer.cs b/InternetShop/InternetShopForms/Orders/FormOrdersList.Designer.cs
index 8f3032a..f9689ad 100644
--- a/InternetShop/InternetShopForms/Orders/FormOrdersList.Designer.cs
+++ b/InternetShop/InternetShopForms/Orders/FormOrdersList.Designer.cs
@@ -28,6 +28,7 @@
///
private void InitializeComponent()
{
+ components = new System.ComponentModel.Container();
tableComponent = new WinFormsLibrary1.TableComponent();
menuStrip = new MenuStrip();
productsToolStripMenuItem = new ToolStripMenuItem();
@@ -35,6 +36,9 @@
reportOrderImagesExcelToolStripMenuItem = new ToolStripMenuItem();
reportOrdersWordToolStripMenuItem = new ToolStripMenuItem();
reportProductsPDFToolStripMenuItem = new ToolStripMenuItem();
+ componentExcelWithImage = new Components.ComponentExcelWithImage(components);
+ bigTextWordNoVisibleComponent = new UserComponentsOption19.BigTextWordNoVisibleComponent(components);
+ pdfHistogram = new WinFormsLibrary1.PDFHistogram(components);
menuStrip.SuspendLayout();
SuspendLayout();
//
@@ -76,18 +80,21 @@
reportOrderImagesExcelToolStripMenuItem.Name = "reportOrderImagesExcelToolStripMenuItem";
reportOrderImagesExcelToolStripMenuItem.Size = new Size(296, 26);
reportOrderImagesExcelToolStripMenuItem.Text = "Изображения заказов (Excel)";
+ reportOrderImagesExcelToolStripMenuItem.Click += reportOrderImagesExcelToolStripMenuItem_Click;
//
// reportOrdersWordToolStripMenuItem
//
reportOrdersWordToolStripMenuItem.Name = "reportOrdersWordToolStripMenuItem";
reportOrdersWordToolStripMenuItem.Size = new Size(296, 26);
reportOrdersWordToolStripMenuItem.Text = "Отчет по заказам (Word)";
+ reportOrdersWordToolStripMenuItem.Click += reportOrdersWordToolStripMenuItem_Click;
//
// reportProductsPDFToolStripMenuItem
//
reportProductsPDFToolStripMenuItem.Name = "reportProductsPDFToolStripMenuItem";
reportProductsPDFToolStripMenuItem.Size = new Size(296, 26);
reportProductsPDFToolStripMenuItem.Text = "Отчет по товарам (PDF)";
+ reportProductsPDFToolStripMenuItem.Click += reportProductsPDFToolStripMenuItem_Click;
//
// FormOrdersList
//
@@ -115,5 +122,8 @@
private ToolStripMenuItem reportOrderImagesExcelToolStripMenuItem;
private ToolStripMenuItem reportOrdersWordToolStripMenuItem;
private ToolStripMenuItem reportProductsPDFToolStripMenuItem;
+ private Components.ComponentExcelWithImage componentExcelWithImage;
+ private UserComponentsOption19.BigTextWordNoVisibleComponent bigTextWordNoVisibleComponent;
+ private WinFormsLibrary1.PDFHistogram pdfHistogram;
}
}
diff --git a/InternetShop/InternetShopForms/Orders/FormOrdersList.cs b/InternetShop/InternetShopForms/Orders/FormOrdersList.cs
index e71e402..5ec495f 100644
--- a/InternetShop/InternetShopForms/Orders/FormOrdersList.cs
+++ b/InternetShop/InternetShopForms/Orders/FormOrdersList.cs
@@ -1,14 +1,8 @@
-using Components;
-using InternetShopContracts.DataBindingModels;
using InternetShopContracts.DataSearchModels;
using InternetShopContracts.DataViewModels;
using InternetShopContracts.LogicsContracts;
-using InternetShopDatabase.Models;
using InternetShopForms.Orders;
using InternetShopForms.Products;
-using InternetShopLogics.Logics;
-using System.Windows.Forms;
-using WinFormsLibrary1;
namespace InternetShopForms
{
@@ -157,7 +151,7 @@ namespace InternetShopForms
if (result == DialogResult.Yes)
{
- if(_orderLogic.Delete(new OrderSearchModel { Id = selectedOrder.Id }))
+ if (_orderLogic.Delete(new OrderSearchModel { Id = selectedOrder.Id }))
{
MessageBox.Show(" ");
}
@@ -174,19 +168,98 @@ namespace InternetShopForms
}
}
+ private enum ReportType
+ {
+ Word = 0,
+ Excel = 1,
+ PDF = 2
+ }
+
+ private string GetFileFilter(ReportType reportType)
+ {
+ if (reportType == ReportType.Excel)
+ {
+ return "Excel files (*.xlsx)|*.xlsx";
+ }
+ else if (reportType == ReportType.PDF)
+ {
+ return "PDF files (*.pdf)|*.pdf";
+ }
+ else
+ {
+ return "Word files (*.docx)|*.docx";
+ }
+ }
+
+ private string? GetExportFileName(ReportType reportType)
+ {
+ using (SaveFileDialog openFileDialog = new SaveFileDialog())
+ {
+ openFileDialog.InitialDirectory = "d:\\tmp";
+ openFileDialog.Filter = GetFileFilter(reportType) + "|All files (*.*)|*.*";
+ openFileDialog.FilterIndex = 1;
+ openFileDialog.RestoreDirectory = true;
+
+ if (openFileDialog.ShowDialog() == DialogResult.OK)
+ {
+ return openFileDialog.FileName;
+ }
+ }
+ return null;
+ }
+
private void CreateWord()
{
- // todo
+ string? exportFileName = GetExportFileName(ReportType.Word);
+ if (string.IsNullOrEmpty(exportFileName))
+ {
+ return;
+ }
}
private void CreateExcel()
{
- // todo
+ string? exportFileName = GetExportFileName(ReportType.Excel);
+ if (string.IsNullOrEmpty(exportFileName))
+ {
+ return;
+ }
+ var orders = _orderLogic.ReadList();
+ try
+ {
+ componentExcelWithImage.CreateExcelWithImages(exportFileName, "", orders.Select(x => x.ImagePath).ToArray());
+ MessageBox.Show(" ", " ", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(" :\n" + ex.Message, " ", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+
}
private void CreatePDF()
{
+ string? exportFileName = GetExportFileName(ReportType.PDF);
+ if (string.IsNullOrEmpty(exportFileName))
+ {
+ return;
+ }
// todo
}
+
+ private void reportOrderImagesExcelToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ CreateExcel();
+ }
+
+ private void reportOrdersWordToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ CreateWord();
+ }
+
+ private void reportProductsPDFToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ CreatePDF();
+ }
}
}
diff --git a/InternetShop/InternetShopForms/Orders/FormOrdersList.resx b/InternetShop/InternetShopForms/Orders/FormOrdersList.resx
index 31084d5..8dd43b1 100644
--- a/InternetShop/InternetShopForms/Orders/FormOrdersList.resx
+++ b/InternetShop/InternetShopForms/Orders/FormOrdersList.resx
@@ -120,4 +120,13 @@
17, 17
+
+ 145, 17
+
+
+ 384, 17
+
+
+ 667, 17
+
\ No newline at end of file