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.Name = "contextMenuStrip";
contextMenuStrip.Size = new Size(205, 180);
contextMenuStrip.Size = new Size(205, 158);
contextMenuStrip.Text = "Контекстное меню";
//
// createElementToolStripMenuItem

View File

@ -57,7 +57,7 @@ namespace WinForms
"Type",
"Sum",
"Id",
"WaiterFullName",
"WaiterFullName"
};
userTreeView.SetHierarchy(hierarchy);
@ -131,13 +131,7 @@ namespace WinForms
/// <param name="e"></param>
private void orderTypesToolStripMenuItem_Click(object sender, EventArgs e)
{
var service = Program.ServiceProvider?.GetService(typeof(FormOrderTypes));
if (!(service is FormOrderTypes form))
{
return;
}
form.ShowDialog();
ShowFormOrderTypes();
}
/// <summary>
@ -187,7 +181,7 @@ namespace WinForms
}
/// <summary>
/// Редактировать элемент
/// Редактировать запись
/// </summary>
private void UpdateElement()
{
@ -197,7 +191,7 @@ namespace WinForms
return;
}
var selectedOrder = userTreeView.GetSelectedObject<OrderBindingModel>();
var selectedOrder = userTreeView.GetSelectedObject<OrderViewModel>();
if (selectedOrder == null)
{
MessageBox.Show("Выберите счет для редактирования!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
@ -212,16 +206,16 @@ namespace WinForms
}
/// <summary>
/// Удалить элемент
/// Удалить запись
/// </summary>
private void DeleteElement()
{
if (MessageBox.Show("Удалить запись", "Вопрос", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
if (MessageBox.Show("Удалить запись?", "Вопрос", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
{
return;
}
var selectedOrder = userTreeView.GetSelectedObject<OrderBindingModel>();
var selectedOrder = userTreeView.GetSelectedObject<OrderViewModel>();
int id = Convert.ToInt32(selectedOrder.Id);
try
{
@ -356,7 +350,7 @@ namespace WinForms
int count = 0;
foreach (var order in orders)
{
if (order.Type == orderType.Name && !string.IsNullOrEmpty(order.Sum))
if (order.Type == orderType.Name && string.IsNullOrEmpty(order.Sum))
{
count++;
}
@ -367,5 +361,73 @@ namespace WinForms
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;
textBoxInfo.Text = order.Info;
customComboBox.SelectedItem = order.Type;
if (string.IsNullOrEmpty(order.Sum))
if (!string.IsNullOrEmpty(order.Sum))
{
controlInputNullableDouble.Value = double.Parse(order.Sum!);
}

View File

@ -1,6 +1,7 @@
using Contracts.BindingModels;
using Contracts.BusinessLogicsContracts;
using DocumentFormat.OpenXml.Office2010.ExcelAc;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.ComponentModel;
@ -17,7 +18,7 @@ namespace WinForms
/// Форма для типов заказов
/// </summary>
public partial class FormOrderTypes : Form
{
{
/// <summary>
/// Бизнес-логика для сущности "Тип заказа"
/// </summary>
@ -71,7 +72,7 @@ namespace WinForms
Name = name
};
var operatingResult = id == 0 ? _orderTypeLogic.Update(model) : _orderTypeLogic.Create(model);
var operatingResult = id != 0 ? _orderTypeLogic.Update(model) : _orderTypeLogic.Create(model);
if (!operatingResult)
{
throw new Exception("Ошибка при создании сущности 'Тип заказа'!");
@ -112,7 +113,7 @@ namespace WinForms
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 });
LoadData();