279 lines
10 KiB
C#
279 lines
10 KiB
C#
|
using Components;
|
|||
|
using Contracts.BindingModels;
|
|||
|
using Contracts.BusinessLogicContracts;
|
|||
|
|
|||
|
namespace COP3_
|
|||
|
{
|
|||
|
public partial class FormMain : Form
|
|||
|
{
|
|||
|
private readonly IOrderLogic _orderLogic;
|
|||
|
public FormMain(IOrderLogic orderLogic)
|
|||
|
{
|
|||
|
InitializeComponent();
|
|||
|
_orderLogic = orderLogic;
|
|||
|
this.KeyPreview = true;
|
|||
|
LoadData();
|
|||
|
}
|
|||
|
|
|||
|
private void FormMain_Load(object sender, EventArgs e)
|
|||
|
{
|
|||
|
LoadData();
|
|||
|
}
|
|||
|
private void LoadData()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
var orders = _orderLogic.ReadList(null);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
MessageBox.Show($"{ex.Message}");
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
private void Create(object sender, EventArgs e)
|
|||
|
{
|
|||
|
var service = Program.ServiceProvider?.GetService(typeof(FormEdit));
|
|||
|
if (!(service is FormEdit form))
|
|||
|
{
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
if (form.ShowDialog() == DialogResult.OK)
|
|||
|
{
|
|||
|
LoadData();
|
|||
|
}
|
|||
|
}
|
|||
|
private void Open(object sender, EventArgs e)
|
|||
|
{
|
|||
|
var service = Program.ServiceProvider?.GetService(typeof(FormEdit));
|
|||
|
if (!(service is FormEdit form))
|
|||
|
{
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
var selectedOrder = listComponent1.GetObjectFromSelectedRow<OrderBindingModel>();
|
|||
|
form.Id = Convert.ToInt32(selectedOrder.Id);
|
|||
|
if (form.ShowDialog() == DialogResult.OK)
|
|||
|
{
|
|||
|
LoadData();
|
|||
|
}
|
|||
|
}
|
|||
|
private void Delete(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
var selectedOrder = listComponent1.GetObjectFromSelectedRow<OrderBindingModel>();
|
|||
|
|
|||
|
if (selectedOrder != null)
|
|||
|
{
|
|||
|
var result = MessageBox.Show(
|
|||
|
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
|||
|
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
|||
|
MessageBoxButtons.YesNo,
|
|||
|
MessageBoxIcon.Question
|
|||
|
);
|
|||
|
|
|||
|
if (result == DialogResult.Yes)
|
|||
|
{
|
|||
|
_orderLogic.Delete(new OrderBindingModel { Id = selectedOrder.Id });
|
|||
|
MessageBox.Show("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|||
|
LoadData();
|
|||
|
}
|
|||
|
else if (result == DialogResult.No)
|
|||
|
{
|
|||
|
MessageBox.Show("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|||
|
}
|
|||
|
LoadData();
|
|||
|
}
|
|||
|
LoadData();
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
MessageBox.Show(ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
private void CreateDoc(object sender, EventArgs e)
|
|||
|
{
|
|||
|
using (SaveFileDialog saveFileDialog = new SaveFileDialog())
|
|||
|
{
|
|||
|
saveFileDialog.Filter = "Word Documents (*.docx)|*.docx";
|
|||
|
|
|||
|
if (saveFileDialog.ShowDialog() == DialogResult.OK)
|
|||
|
{
|
|||
|
string filePath = saveFileDialog.FileName;
|
|||
|
|
|||
|
string title = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> :D";
|
|||
|
|
|||
|
string[] data;
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
var orders = _orderLogic.ReadList(null);
|
|||
|
|
|||
|
if (orders != null)
|
|||
|
{
|
|||
|
/* // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> null <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
var freeOrders = orders
|
|||
|
.Where(x => string.IsNullOrEmpty(x.OrderDeliveryTime))
|
|||
|
.Select(x => $"ID: {x.Id}, <20><><EFBFBD>: {x.FIO}, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: {x.OrderDestination}, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: {x.OrderPath}")
|
|||
|
.ToList();
|
|||
|
|
|||
|
if (freeOrders.Count == 0)
|
|||
|
{
|
|||
|
MessageBox.Show("<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.");
|
|||
|
return;
|
|||
|
}
|
|||
|
*/
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//data = freeOrders.ToArray();
|
|||
|
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Word
|
|||
|
// bigTextWordNoVisibleComponent1.CreateAndSaveDocument(filePath, title, data);
|
|||
|
MessageBox.Show("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> :D <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>...");
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
MessageBox.Show(ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
private void CreateTableDoc(object sender, EventArgs e)
|
|||
|
{
|
|||
|
using (SaveFileDialog saveFileDialog = new SaveFileDialog())
|
|||
|
{
|
|||
|
saveFileDialog.Filter = "Excel Files (*.xlsx)|*.xlsx";
|
|||
|
saveFileDialog.Title = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> Excel";
|
|||
|
|
|||
|
if (saveFileDialog.ShowDialog() == DialogResult.OK)
|
|||
|
{
|
|||
|
string filePath = saveFileDialog.FileName;
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
var orders = _orderLogic.ReadList(null);
|
|||
|
|
|||
|
if (orders == null || !orders.Any())
|
|||
|
{
|
|||
|
MessageBox.Show("<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.");
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
/* var groupedData = orders
|
|||
|
.Where(o => o.OrderDeliveryTime != null && o.OrderDeliveryTime != "" && o.OrderDeliveryTime != string.Empty)
|
|||
|
.GroupBy(o => o.OrderDestination)
|
|||
|
.Select(g => new ComponentExcelWithPieDiagram.ChartData
|
|||
|
{
|
|||
|
SeriesName = g.Key,
|
|||
|
SeriesValue = g.Count()
|
|||
|
})
|
|||
|
.ToList();
|
|||
|
|
|||
|
if (!groupedData.Any())
|
|||
|
{
|
|||
|
MessageBox.Show("<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.");
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
string title = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
|||
|
string diagramTitle = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
|||
|
|
|||
|
componentExcelWithPieDiagram1.CreateExcelWithPieChart(
|
|||
|
filePath,
|
|||
|
title,
|
|||
|
diagramTitle,
|
|||
|
ComponentExcelWithPieDiagram.LegendPosition.Left,
|
|||
|
groupedData
|
|||
|
);*/
|
|||
|
|
|||
|
MessageBox.Show("<22><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.", "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
MessageBox.Show($"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>: {ex.Message}", "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
private void CreateDiagramDoc(object sender, EventArgs e)
|
|||
|
{
|
|||
|
using (SaveFileDialog fileDialog = new SaveFileDialog())
|
|||
|
{
|
|||
|
fileDialog.Filter = "PDF Files (*.pdf)|*.pdf";
|
|||
|
fileDialog.Title = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> PDF";
|
|||
|
|
|||
|
if (fileDialog.ShowDialog() == DialogResult.OK)
|
|||
|
{
|
|||
|
string filePath = fileDialog.FileName;
|
|||
|
string fileTitle = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
var orders = _orderLogic.ReadList(null);
|
|||
|
|
|||
|
/* if (orders == null || !orders.Any())
|
|||
|
{
|
|||
|
MessageBox.Show("<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
List<UserComponentsOption19.DiagramWordNoVisibleComponent.ChartSeries> tables = new List<UserComponentsOption19.DiagramWordNoVisibleComponent.ChartSeries>();
|
|||
|
string[,] tableData = new string[orders.Count + 1, 5];
|
|||
|
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
tableData[0, 0] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
|||
|
tableData[0, 1] = "<22><><EFBFBD>";
|
|||
|
tableData[0, 2] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
|||
|
tableData[0, 3] = "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
|||
|
tableData[0, 4] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
|||
|
|
|||
|
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.OrderDestination;
|
|||
|
tableData[i + 1, 3] = string.IsNullOrWhiteSpace(order.OrderDeliveryTime)
|
|||
|
? "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
|||
|
: order.OrderDeliveryTime;
|
|||
|
tableData[i + 1, 4] = order.OrderPath;
|
|||
|
}
|
|||
|
diagramWordNoVisibleComponent1.CreateDocumentWithChart(filePath, fileTitle, "", UserComponentsOption19.DiagramWordNoVisibleComponent.LegendPosition.Bottom, tables);
|
|||
|
*/
|
|||
|
MessageBox.Show("<22><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.", "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
MessageBox.Show($"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>: {ex.Message}", "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void contextMenuStrip1_Opening(object sender, System.ComponentModel.CancelEventArgs e)
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
private void <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>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();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|