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

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> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
components = new System.ComponentModel.Container();
tableComponent = new WinFormsLibrary1.TableComponent(); tableComponent = new WinFormsLibrary1.TableComponent();
menuStrip = new MenuStrip(); menuStrip = new MenuStrip();
productsToolStripMenuItem = new ToolStripMenuItem(); productsToolStripMenuItem = new ToolStripMenuItem();
@ -35,6 +36,9 @@
reportOrderImagesExcelToolStripMenuItem = new ToolStripMenuItem(); reportOrderImagesExcelToolStripMenuItem = new ToolStripMenuItem();
reportOrdersWordToolStripMenuItem = new ToolStripMenuItem(); reportOrdersWordToolStripMenuItem = new ToolStripMenuItem();
reportProductsPDFToolStripMenuItem = new ToolStripMenuItem(); reportProductsPDFToolStripMenuItem = new ToolStripMenuItem();
componentExcelWithImage = new Components.ComponentExcelWithImage(components);
bigTextWordNoVisibleComponent = new UserComponentsOption19.BigTextWordNoVisibleComponent(components);
pdfHistogram = new WinFormsLibrary1.PDFHistogram(components);
menuStrip.SuspendLayout(); menuStrip.SuspendLayout();
SuspendLayout(); SuspendLayout();
// //
@ -76,18 +80,21 @@
reportOrderImagesExcelToolStripMenuItem.Name = "reportOrderImagesExcelToolStripMenuItem"; reportOrderImagesExcelToolStripMenuItem.Name = "reportOrderImagesExcelToolStripMenuItem";
reportOrderImagesExcelToolStripMenuItem.Size = new Size(296, 26); reportOrderImagesExcelToolStripMenuItem.Size = new Size(296, 26);
reportOrderImagesExcelToolStripMenuItem.Text = "Изображения заказов (Excel)"; reportOrderImagesExcelToolStripMenuItem.Text = "Изображения заказов (Excel)";
reportOrderImagesExcelToolStripMenuItem.Click += reportOrderImagesExcelToolStripMenuItem_Click;
// //
// reportOrdersWordToolStripMenuItem // reportOrdersWordToolStripMenuItem
// //
reportOrdersWordToolStripMenuItem.Name = "reportOrdersWordToolStripMenuItem"; reportOrdersWordToolStripMenuItem.Name = "reportOrdersWordToolStripMenuItem";
reportOrdersWordToolStripMenuItem.Size = new Size(296, 26); reportOrdersWordToolStripMenuItem.Size = new Size(296, 26);
reportOrdersWordToolStripMenuItem.Text = "Отчет по заказам (Word)"; reportOrdersWordToolStripMenuItem.Text = "Отчет по заказам (Word)";
reportOrdersWordToolStripMenuItem.Click += reportOrdersWordToolStripMenuItem_Click;
// //
// reportProductsPDFToolStripMenuItem // reportProductsPDFToolStripMenuItem
// //
reportProductsPDFToolStripMenuItem.Name = "reportProductsPDFToolStripMenuItem"; reportProductsPDFToolStripMenuItem.Name = "reportProductsPDFToolStripMenuItem";
reportProductsPDFToolStripMenuItem.Size = new Size(296, 26); reportProductsPDFToolStripMenuItem.Size = new Size(296, 26);
reportProductsPDFToolStripMenuItem.Text = "Отчет по товарам (PDF)"; reportProductsPDFToolStripMenuItem.Text = "Отчет по товарам (PDF)";
reportProductsPDFToolStripMenuItem.Click += reportProductsPDFToolStripMenuItem_Click;
// //
// FormOrdersList // FormOrdersList
// //
@ -115,5 +122,8 @@
private ToolStripMenuItem reportOrderImagesExcelToolStripMenuItem; private ToolStripMenuItem reportOrderImagesExcelToolStripMenuItem;
private ToolStripMenuItem reportOrdersWordToolStripMenuItem; private ToolStripMenuItem reportOrdersWordToolStripMenuItem;
private ToolStripMenuItem reportProductsPDFToolStripMenuItem; 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.DataSearchModels;
using InternetShopContracts.DataViewModels; using InternetShopContracts.DataViewModels;
using InternetShopContracts.LogicsContracts; using InternetShopContracts.LogicsContracts;
using InternetShopDatabase.Models;
using InternetShopForms.Orders; using InternetShopForms.Orders;
using InternetShopForms.Products; using InternetShopForms.Products;
using InternetShopLogics.Logics;
using System.Windows.Forms;
using WinFormsLibrary1;
namespace InternetShopForms namespace InternetShopForms
{ {
@ -157,7 +151,7 @@ namespace InternetShopForms
if (result == DialogResult.Yes) if (result == DialogResult.Yes)
{ {
if(_orderLogic.Delete(new OrderSearchModel { Id = selectedOrder.Id })) if (_orderLogic.Delete(new OrderSearchModel { Id = selectedOrder.Id }))
{ {
MessageBox.Show("Çàêàç óäàëåí"); 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() private void CreateWord()
{ {
// todo string? exportFileName = GetExportFileName(ReportType.Word);
if (string.IsNullOrEmpty(exportFileName))
{
return;
}
} }
private void CreateExcel() 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() private void CreatePDF()
{ {
string? exportFileName = GetExportFileName(ReportType.PDF);
if (string.IsNullOrEmpty(exportFileName))
{
return;
}
// todo // 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"> <metadata name="menuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value> <value>17, 17</value>
</metadata> </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> </root>