все сделала, только сдать осталось
This commit is contained in:
parent
394ecca149
commit
3ea68ad50d
@ -28,6 +28,7 @@
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
components = new System.ComponentModel.Container();
|
||||
userControlTreeView = new Components.UserControlTreeView();
|
||||
menuStrip1 = new MenuStrip();
|
||||
добавитьToolStripMenuItem = new ToolStripMenuItem();
|
||||
@ -37,6 +38,9 @@
|
||||
сОзданиеДоктаСТаблицейToolStripMenuItem = new ToolStripMenuItem();
|
||||
созданиеДоктаСДиаграммойToolStripMenuItem = new ToolStripMenuItem();
|
||||
справочникToolStripMenuItem = new ToolStripMenuItem();
|
||||
createWord = new UserComponentsOption19.BigTextWordNoVisibleComponent(components);
|
||||
createExcelPieDiagram = new Components.ComponentExcelWithPieDiagram(components);
|
||||
createPdfTable = new WinFormsLibrary1.PDFTable(components);
|
||||
menuStrip1.SuspendLayout();
|
||||
SuspendLayout();
|
||||
//
|
||||
@ -88,18 +92,21 @@
|
||||
созданиеПростогоДокументаToolStripMenuItem.Name = "созданиеПростогоДокументаToolStripMenuItem";
|
||||
созданиеПростогоДокументаToolStripMenuItem.Size = new Size(235, 24);
|
||||
созданиеПростогоДокументаToolStripMenuItem.Text = "Создание простого документа";
|
||||
созданиеПростогоДокументаToolStripMenuItem.Click += созданиеПростогоДокументаToolStripMenuItem_Click;
|
||||
//
|
||||
// сОзданиеДоктаСТаблицейToolStripMenuItem
|
||||
//
|
||||
сОзданиеДоктаСТаблицейToolStripMenuItem.Name = "сОзданиеДоктаСТаблицейToolStripMenuItem";
|
||||
сОзданиеДоктаСТаблицейToolStripMenuItem.Size = new Size(219, 24);
|
||||
сОзданиеДоктаСТаблицейToolStripMenuItem.Text = "Создание док-та с таблицей";
|
||||
сОзданиеДоктаСТаблицейToolStripMenuItem.Click += сОзданиеДоктаСТаблицейToolStripMenuItem_Click;
|
||||
//
|
||||
// созданиеДоктаСДиаграммойToolStripMenuItem
|
||||
//
|
||||
созданиеДоктаСДиаграммойToolStripMenuItem.Name = "созданиеДоктаСДиаграммойToolStripMenuItem";
|
||||
созданиеДоктаСДиаграммойToolStripMenuItem.Size = new Size(241, 24);
|
||||
созданиеДоктаСДиаграммойToolStripMenuItem.Text = "Создание док-та с диаграммой";
|
||||
созданиеДоктаСДиаграммойToolStripMenuItem.Click += созданиеДоктаСДиаграммойToolStripMenuItem_Click;
|
||||
//
|
||||
// справочникToolStripMenuItem
|
||||
//
|
||||
@ -119,6 +126,7 @@
|
||||
Name = "FormMain";
|
||||
Text = "Главная форма";
|
||||
Load += FormMain_Load;
|
||||
KeyDown += FormMain_KeyDown;
|
||||
menuStrip1.ResumeLayout(false);
|
||||
menuStrip1.PerformLayout();
|
||||
ResumeLayout(false);
|
||||
@ -136,5 +144,8 @@
|
||||
private ToolStripMenuItem сОзданиеДоктаСТаблицейToolStripMenuItem;
|
||||
private ToolStripMenuItem созданиеДоктаСДиаграммойToolStripMenuItem;
|
||||
private ToolStripMenuItem справочникToolStripMenuItem;
|
||||
private UserComponentsOption19.BigTextWordNoVisibleComponent createWord;
|
||||
private Components.ComponentExcelWithPieDiagram createExcelPieDiagram;
|
||||
private WinFormsLibrary1.PDFTable createPdfTable;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,13 @@
|
||||
using AppShopInternetOption19.Forms;
|
||||
using Components;
|
||||
using ShopContracts.BindingModels;
|
||||
using ShopContracts.BusinessLogicContracts;
|
||||
using ShopContracts.SearchModels;
|
||||
using ShopDataBaseImplements.Models;
|
||||
using System.Windows.Forms;
|
||||
using UserComponentsOption19;
|
||||
using WinFormsLibrary1;
|
||||
using WinFormsLibrary1.HelperClasses;
|
||||
|
||||
namespace AppShopInternetOption19
|
||||
{
|
||||
@ -17,17 +22,8 @@ namespace AppShopInternetOption19
|
||||
InitializeComponent();
|
||||
_orderLogic = orderLogic;
|
||||
_orderStatusLogic = orderStatusLogic;
|
||||
this.KeyPreview = true;
|
||||
LoadData();
|
||||
|
||||
//OrderBindingModel order = new OrderBindingModel
|
||||
//{
|
||||
// FIO = "Ïóïêèí âàñèëèé çàëóïêèí",
|
||||
// OrderDescription = "Description",
|
||||
// OrderStatus = "íå ãîòîâ",
|
||||
// OrderSumm = "20",
|
||||
//};
|
||||
//_orderLogic.Create(order);
|
||||
|
||||
}
|
||||
|
||||
private void FormMain_Load(object sender, EventArgs e)
|
||||
@ -37,16 +33,7 @@ namespace AppShopInternetOption19
|
||||
|
||||
private void äîáàâèòüToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
var service = Program.ServiceProvider?.GetService(typeof(FormEdit_Add));
|
||||
if (!(service is FormEdit_Add form))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (form.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
LoadData();
|
||||
}
|
||||
Add();
|
||||
}
|
||||
|
||||
private void LoadData()
|
||||
@ -79,6 +66,43 @@ namespace AppShopInternetOption19
|
||||
}
|
||||
|
||||
private void ðåäàêòèðîâàòüToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Update();
|
||||
}
|
||||
|
||||
private void óäàëèòüToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Delete();
|
||||
}
|
||||
|
||||
private void ñïðàâî÷íèêToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
var service = Program.ServiceProvider?.GetService(typeof(FormGuide));
|
||||
if (!(service is FormGuide form))
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (form.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
LoadData();
|
||||
}
|
||||
}
|
||||
|
||||
private void Add()
|
||||
{
|
||||
var service = Program.ServiceProvider?.GetService(typeof(FormEdit_Add));
|
||||
if (!(service is FormEdit_Add form))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (form.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
LoadData();
|
||||
}
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
var service = Program.ServiceProvider?.GetService(typeof(FormEdit_Add));
|
||||
if (!(service is FormEdit_Add form))
|
||||
@ -94,7 +118,7 @@ namespace AppShopInternetOption19
|
||||
}
|
||||
}
|
||||
|
||||
private void óäàëèòüToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
private void Delete()
|
||||
{
|
||||
try
|
||||
{
|
||||
@ -123,24 +147,239 @@ namespace AppShopInternetOption19
|
||||
}
|
||||
LoadData();
|
||||
}
|
||||
catch (Exception)
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
throw;
|
||||
MessageBox.Show(ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
private void ñïðàâî÷íèêToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
private void CreateWord()
|
||||
{
|
||||
var service = Program.ServiceProvider?.GetService(typeof(FormGuide));
|
||||
if (!(service is FormGuide form))
|
||||
using (SaveFileDialog saveFileDialog = new SaveFileDialog())
|
||||
{
|
||||
return;
|
||||
saveFileDialog.Filter = "Word Documents (*.docx)|*.docx";
|
||||
|
||||
if (saveFileDialog.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
string filePath = saveFileDialog.FileName;
|
||||
|
||||
string title = "çàêàçû, êîòîðûå îïëà÷åíû ïîëíîñòüþ çà ñ÷åò ñêèäîê :D";
|
||||
|
||||
string[] data;
|
||||
|
||||
try
|
||||
{
|
||||
var orders = _orderLogic.ReadList(null);
|
||||
|
||||
if (orders != null)
|
||||
{
|
||||
// Ôèëüòðóåì çàêàçû, ãäå ñóììà çàêàçà ðàâíà null èëè ïóñòîé ñòðîêå
|
||||
var freeOrders = orders
|
||||
.Where(x => string.IsNullOrEmpty(x.OrderSumm))
|
||||
.Select(x => $"ID: {x.Id}, ÔÈÎ: {x.FIO}, Ñòàòóñ çàêàçà: {x.OrderStatus}, Îïèñàíèå çàêàçà: {x.OrderDescription}")
|
||||
.ToList();
|
||||
|
||||
if (freeOrders.Count == 0)
|
||||
{
|
||||
MessageBox.Show("Íåò çàêàçîâ, îïëà÷åííûõ ñêèäêàìè.");
|
||||
return;
|
||||
}
|
||||
|
||||
// Ïðåîáðàçóåì ñïèñîê â ìàññèâ ñòðîê äëÿ ïåðåäà÷è â ìåòîä
|
||||
data = freeOrders.ToArray();
|
||||
|
||||
// Ñîçäàåì äîêóìåíò Word
|
||||
createWord.CreateAndSaveDocument(filePath, title, data);
|
||||
MessageBox.Show("Óñïåøíî :D ïðîâåðÿé íàëè÷èå ôàéëà...");
|
||||
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (form.ShowDialog() == DialogResult.OK)
|
||||
}
|
||||
|
||||
private void CreateExcel()
|
||||
{
|
||||
using (SaveFileDialog saveFileDialog = new SaveFileDialog())
|
||||
{
|
||||
LoadData();
|
||||
saveFileDialog.Filter = "Excel Files (*.xlsx)|*.xlsx";
|
||||
saveFileDialog.Title = "Ñîõðàíèòü äèàãðàììó â Excel";
|
||||
|
||||
if (saveFileDialog.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
string filePath = saveFileDialog.FileName;
|
||||
|
||||
try
|
||||
{
|
||||
var orders = _orderLogic.ReadList(null);
|
||||
|
||||
if (orders == null || !orders.Any())
|
||||
{
|
||||
MessageBox.Show("Íåò äàííûõ äëÿ ñîçäàíèÿ äèàãðàììû.");
|
||||
return;
|
||||
}
|
||||
|
||||
var groupedData = orders
|
||||
.Where(o => o.OrderSumm != null && o.OrderSumm != "" && o.OrderSumm != string.Empty)
|
||||
.GroupBy(o => o.OrderStatus)
|
||||
.Select(g => new ComponentExcelWithPieDiagram.ChartData
|
||||
{
|
||||
SeriesName = g.Key,
|
||||
SeriesValue = g.Count()
|
||||
})
|
||||
.ToList();
|
||||
|
||||
if (!groupedData.Any())
|
||||
{
|
||||
MessageBox.Show("Íåò îïëà÷åííûõ çàêàçîâ.");
|
||||
return;
|
||||
}
|
||||
|
||||
string title = "Îïëà÷åííûå çàêàçû ïî ñòàòóñàì";
|
||||
string diagramTitle = "Ðàñïðåäåëåíèå îïëà÷åííûõ çàêàçîâ";
|
||||
|
||||
createExcelPieDiagram.CreateExcelWithPieChart(
|
||||
filePath,
|
||||
title,
|
||||
diagramTitle,
|
||||
ComponentExcelWithPieDiagram.LegendPosition.Left,
|
||||
groupedData
|
||||
);
|
||||
|
||||
MessageBox.Show("Ôàéë óñïåøíî ñîçäàí.", "Èíôîðìàöèÿ", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show($"Îøèáêà ïðè ñîçäàíèè ôàéëà: {ex.Message}", "Îøèáêà", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void CreatePdf()
|
||||
{
|
||||
using (SaveFileDialog fileDialog = new SaveFileDialog())
|
||||
{
|
||||
fileDialog.Filter = "PDF Files (*.pdf)|*.pdf";
|
||||
fileDialog.Title = "Ñîõðàíèòü äèàãðàììó â PDF";
|
||||
|
||||
if (fileDialog.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
string filePath = fileDialog.FileName;
|
||||
string fileTitle = "Èíôîðìàöèÿ î çàêàçàõ";
|
||||
|
||||
try
|
||||
{
|
||||
var orders = _orderLogic.ReadList(null);
|
||||
|
||||
if (orders == null || !orders.Any())
|
||||
{
|
||||
MessageBox.Show("Íåò äàííûõ");
|
||||
return;
|
||||
}
|
||||
|
||||
List<string[,]> tables = new List<string[,]>();
|
||||
string[,] tableData = new string[orders.Count + 1, 5];
|
||||
|
||||
// Øàïêà òàáëèöû
|
||||
tableData[0, 0] = "Èäåíòèôèêàòîð";
|
||||
tableData[0, 1] = "ÔÈÎ";
|
||||
tableData[0, 2] = "Ñòàòóñ çàêàçà";
|
||||
tableData[0, 3] = "Ñóììà çàêàçîâ";
|
||||
tableData[0, 4] = "Îïèñàíèå";
|
||||
|
||||
for (int i = 0; i < orders.Count; i++)
|
||||
{
|
||||
var order = orders[i];
|
||||
tableData[i + 1, 0] = order.Id.ToString();
|
||||
tableData[i + 1, 1] = order.FIO;
|
||||
tableData[i + 1, 2] = order.OrderStatus;
|
||||
tableData[i + 1, 3] = string.IsNullOrWhiteSpace(order.OrderSumm)
|
||||
? "Îïëà÷åí ñêèäêàìè"
|
||||
: order.OrderSumm;
|
||||
tableData[i + 1, 4] = order.OrderDescription;
|
||||
}
|
||||
tables.Add(tableData);
|
||||
|
||||
PdfDocumentData pdfData = new PdfDocumentData(filePath, fileTitle, tables);
|
||||
createPdfTable.GeneratePdf(pdfData);
|
||||
MessageBox.Show("Ôàéë óñïåøíî ñîçäàí.", "Èíôîðìàöèÿ", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show($"Îøèáêà ïðè ñîçäàíèè ôàéëà: {ex.Message}", "Îøèáêà", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//private class PdfDocumentData
|
||||
//{
|
||||
// public string FileName { get; set; }
|
||||
|
||||
// public string DocumentTitle { get; set; }
|
||||
|
||||
// public List<string[,]> Tables { get; set; }
|
||||
|
||||
// public PdfDocumentData(string fileName, string documentTitle, List<string[,]> tables)
|
||||
// {
|
||||
// FileName = fileName ?? throw new ArgumentNullException("fileName");
|
||||
// DocumentTitle = documentTitle ?? throw new ArgumentNullException("documentTitle");
|
||||
// Tables = tables ?? throw new ArgumentNullException("tables");
|
||||
// }
|
||||
//}
|
||||
|
||||
private void FormMain_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.Control)
|
||||
{
|
||||
switch (e.KeyCode)
|
||||
{
|
||||
case Keys.A:
|
||||
Add();
|
||||
e.SuppressKeyPress = true;
|
||||
break;
|
||||
case Keys.U:
|
||||
Update();
|
||||
e.SuppressKeyPress = true;
|
||||
break;
|
||||
case Keys.D:
|
||||
Delete();
|
||||
e.SuppressKeyPress = true;
|
||||
break;
|
||||
case Keys.S:
|
||||
CreateWord();
|
||||
e.SuppressKeyPress = true;
|
||||
break;
|
||||
case Keys.C:
|
||||
CreateExcel();
|
||||
e.SuppressKeyPress = true;
|
||||
break;
|
||||
case Keys.T:
|
||||
CreatePdf();
|
||||
e.SuppressKeyPress = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void ñîçäàíèåÏðîñòîãîÄîêóìåíòàToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
CreateWord();
|
||||
}
|
||||
|
||||
private void ñÎçäàíèåÄîêòàÑÒàáëèöåéToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
CreatePdf();
|
||||
}
|
||||
|
||||
private void ñîçäàíèåÄîêòàÑÄèàãðàììîéToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
CreateExcel();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -120,4 +120,13 @@
|
||||
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="createWord.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>153, 17</value>
|
||||
</metadata>
|
||||
<metadata name="createExcelPieDiagram.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>444, 17</value>
|
||||
</metadata>
|
||||
<metadata name="createPdfTable.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>727, 17</value>
|
||||
</metadata>
|
||||
</root>
|
Loading…
x
Reference in New Issue
Block a user