Реализовал отчет с фотографиями

This commit is contained in:
Никита Потапов 2024-12-04 17:59:16 +04:00
parent 0f80c8fa43
commit be8383f5b2
3 changed files with 101 additions and 9 deletions

View File

@ -28,6 +28,7 @@
/// </summary>
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;
}
}

View File

@ -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();
}
}
}

View File

@ -120,4 +120,13 @@
<metadata name="menuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="componentExcelWithImage.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>145, 17</value>
</metadata>
<metadata name="bigTextWordNoVisibleComponent.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>384, 17</value>
</metadata>
<metadata name="pdfHistogram.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>667, 17</value>
</metadata>
</root>