LabWork03 is Done

This commit is contained in:
parent e722d26c69
commit e1c605a649
4 changed files with 82 additions and 19 deletions

View File

@ -48,7 +48,7 @@
// //
contextMenuStrip.Items.AddRange(new ToolStripItem[] { createElementToolStripMenuItem, updateElementToolStripMenuItem, deleteElementToolStripMenuItem, createWordDocumentToolStripMenuItem, createExcelDocumentToolStripMenuItem, createPdfDocumentToolStripMenuItem, orderTypesToolStripMenuItem }); contextMenuStrip.Items.AddRange(new ToolStripItem[] { createElementToolStripMenuItem, updateElementToolStripMenuItem, deleteElementToolStripMenuItem, createWordDocumentToolStripMenuItem, createExcelDocumentToolStripMenuItem, createPdfDocumentToolStripMenuItem, orderTypesToolStripMenuItem });
contextMenuStrip.Name = "contextMenuStrip"; contextMenuStrip.Name = "contextMenuStrip";
contextMenuStrip.Size = new Size(205, 180); contextMenuStrip.Size = new Size(205, 158);
contextMenuStrip.Text = "Контекстное меню"; contextMenuStrip.Text = "Контекстное меню";
// //
// createElementToolStripMenuItem // createElementToolStripMenuItem

View File

@ -57,7 +57,7 @@ namespace WinForms
"Type", "Type",
"Sum", "Sum",
"Id", "Id",
"WaiterFullName", "WaiterFullName"
}; };
userTreeView.SetHierarchy(hierarchy); userTreeView.SetHierarchy(hierarchy);
@ -131,13 +131,7 @@ namespace WinForms
/// <param name="e"></param> /// <param name="e"></param>
private void orderTypesToolStripMenuItem_Click(object sender, EventArgs e) private void orderTypesToolStripMenuItem_Click(object sender, EventArgs e)
{ {
var service = Program.ServiceProvider?.GetService(typeof(FormOrderTypes)); ShowFormOrderTypes();
if (!(service is FormOrderTypes form))
{
return;
}
form.ShowDialog();
} }
/// <summary> /// <summary>
@ -187,7 +181,7 @@ namespace WinForms
} }
/// <summary> /// <summary>
/// Редактировать элемент /// Редактировать запись
/// </summary> /// </summary>
private void UpdateElement() private void UpdateElement()
{ {
@ -197,7 +191,7 @@ namespace WinForms
return; return;
} }
var selectedOrder = userTreeView.GetSelectedObject<OrderBindingModel>(); var selectedOrder = userTreeView.GetSelectedObject<OrderViewModel>();
if (selectedOrder == null) if (selectedOrder == null)
{ {
MessageBox.Show("Выберите счет для редактирования!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show("Выберите счет для редактирования!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
@ -212,16 +206,16 @@ namespace WinForms
} }
/// <summary> /// <summary>
/// Удалить элемент /// Удалить запись
/// </summary> /// </summary>
private void DeleteElement() private void DeleteElement()
{ {
if (MessageBox.Show("Удалить запись", "Вопрос", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes) if (MessageBox.Show("Удалить запись?", "Вопрос", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
{ {
return; return;
} }
var selectedOrder = userTreeView.GetSelectedObject<OrderBindingModel>(); var selectedOrder = userTreeView.GetSelectedObject<OrderViewModel>();
int id = Convert.ToInt32(selectedOrder.Id); int id = Convert.ToInt32(selectedOrder.Id);
try try
{ {
@ -356,7 +350,7 @@ namespace WinForms
int count = 0; int count = 0;
foreach (var order in orders) foreach (var order in orders)
{ {
if (order.Type == orderType.Name && !string.IsNullOrEmpty(order.Sum)) if (order.Type == orderType.Name && string.IsNullOrEmpty(order.Sum))
{ {
count++; count++;
} }
@ -367,5 +361,73 @@ namespace WinForms
pdfPieChart1.CreatePieChart(new DataForPieChart(fileName, "Информация по оплаченным счетам каждого типа заказов", "Круговая диаграмма", DiagramLegendEnum.Top, "Типы заказов", items)); pdfPieChart1.CreatePieChart(new DataForPieChart(fileName, "Информация по оплаченным счетам каждого типа заказов", "Круговая диаграмма", DiagramLegendEnum.Top, "Типы заказов", items));
} }
/// <summary>
/// Вывести форму списка типов заказов
/// </summary>
private void ShowFormOrderTypes()
{
var service = Program.ServiceProvider?.GetService(typeof(FormOrderTypes));
if (!(service is FormOrderTypes form))
{
return;
}
form.ShowDialog();
}
/// <summary>
/// Обработка нажатия кнопок
/// </summary>
/// <param name="msg"></param>
/// <param name="keyData"></param>
/// <returns></returns>
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
// Ctrl+A - добавить запись
if (keyData == (Keys.Control | Keys.A))
{
AddElement();
return true;
}
// Ctrl+U - редактировать запись
if (keyData == (Keys.Control | Keys.U))
{
UpdateElement();
return true;
}
// Ctrl+D - удалить запись
if (keyData == (Keys.Control | Keys.D))
{
DeleteElement();
return true;
}
// Ctrl+S - создать документ Word
if (keyData == (Keys.Control | Keys.S))
{
CreateWordDocument();
return true;
}
// Ctrl+T - создать документ Excel
if (keyData == (Keys.Control | Keys.T))
{
CreateExcelDocument();
return true;
}
// Ctrl+C - создать документ Pdf
if (keyData == (Keys.Control | Keys.C))
{
CreatePdfDocument();
return true;
}
// Ctrl+M - вывести форму списка типов заказов
if (keyData == (Keys.Control | Keys.M))
{
ShowFormOrderTypes();
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
} }
} }

View File

@ -84,7 +84,7 @@ namespace WinForms
textBoxWaiterFullName.Text = order.WaiterFullName; textBoxWaiterFullName.Text = order.WaiterFullName;
textBoxInfo.Text = order.Info; textBoxInfo.Text = order.Info;
customComboBox.SelectedItem = order.Type; customComboBox.SelectedItem = order.Type;
if (string.IsNullOrEmpty(order.Sum)) if (!string.IsNullOrEmpty(order.Sum))
{ {
controlInputNullableDouble.Value = double.Parse(order.Sum!); controlInputNullableDouble.Value = double.Parse(order.Sum!);
} }

View File

@ -1,6 +1,7 @@
using Contracts.BindingModels; using Contracts.BindingModels;
using Contracts.BusinessLogicsContracts; using Contracts.BusinessLogicsContracts;
using DocumentFormat.OpenXml.Office2010.ExcelAc; using DocumentFormat.OpenXml.Office2010.ExcelAc;
using Microsoft.Extensions.Logging;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
@ -71,7 +72,7 @@ namespace WinForms
Name = name Name = name
}; };
var operatingResult = id == 0 ? _orderTypeLogic.Update(model) : _orderTypeLogic.Create(model); var operatingResult = id != 0 ? _orderTypeLogic.Update(model) : _orderTypeLogic.Create(model);
if (!operatingResult) if (!operatingResult)
{ {
throw new Exception("Ошибка при создании сущности 'Тип заказа'!"); throw new Exception("Ошибка при создании сущности 'Тип заказа'!");
@ -112,7 +113,7 @@ namespace WinForms
if (e.KeyData == Keys.Delete) if (e.KeyData == Keys.Delete)
{ {
if (MessageBox.Show("Удалить выбранный элемент&", "Удаление", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) if (MessageBox.Show("Удалить выбранный элемент?", "Удаление", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{ {
_orderTypeLogic.Delete(new OrderTypeBindingModel { Id = (int)dataGridView.CurrentRow.Cells[0].Value }); _orderTypeLogic.Delete(new OrderTypeBindingModel { Id = (int)dataGridView.CurrentRow.Cells[0].Value });
LoadData(); LoadData();