| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- using System;
- using System.Windows.Forms;
- using RestaurantApp.DAL;
- namespace RestaurantApp
- {
- public partial class ReportForm : Form
- {
- private ReportRepository repo = new ReportRepository();
- public ReportForm()
- {
- InitializeComponent();
- // Устанавливаем даты по умолчанию
- dtpRevenueFrom.Value = DateTime.Now.AddMonths(-1);
- dtpRevenueTo.Value = DateTime.Now;
- dtpDishSalesFrom.Value = DateTime.Now.AddMonths(-1);
- dtpDishSalesTo.Value = DateTime.Now;
- dtpWaiterStatsFrom.Value = DateTime.Now.AddMonths(-1);
- dtpWaiterStatsTo.Value = DateTime.Now;
- dtpPaymentMethodsFrom.Value = DateTime.Now.AddMonths(-1);
- dtpPaymentMethodsTo.Value = DateTime.Now;
- // Подписываем события
- btnRevenueShow.Click += (s, e) => LoadRevenueReport();
- btnDishSalesShow.Click += (s, e) => LoadDishSalesReport();
- btnWaiterStatsShow.Click += (s, e) => LoadWaiterStatsReport();
- btnPaymentMethodsShow.Click += (s, e) => LoadPaymentMethodsReport();
- btnLowStockRefresh.Click += (s, e) => LoadLowStockReport();
- // Загружаем данные
- LoadRevenueReport();
- LoadDishSalesReport();
- LoadWaiterStatsReport();
- LoadPaymentMethodsReport();
- LoadLowStockReport();
- }
- private void LoadRevenueReport()
- {
- try
- {
- var dt = repo.GetDailyRevenue(dtpRevenueFrom.Value, dtpRevenueTo.Value);
- dgvRevenue.DataSource = dt;
- if (dgvRevenue.Columns.Count > 0)
- {
- dgvRevenue.Columns["Дата"].HeaderText = "Дата";
- dgvRevenue.Columns["Платежей"].HeaderText = "Кол-во платежей";
- dgvRevenue.Columns["Выручка (руб.)"].HeaderText = "Выручка (руб.)";
- dgvRevenue.Columns["Средний чек (руб.)"].HeaderText = "Средний чек (руб.)";
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show($"Ошибка: {ex.Message}");
- }
- }
- private void LoadDishSalesReport()
- {
- try
- {
- var dt = repo.GetDishSales(dtpDishSalesFrom.Value, dtpDishSalesTo.Value);
- dgvDishSales.DataSource = dt;
- if (dgvDishSales.Columns.Count > 0)
- {
- dgvDishSales.Columns["Блюдо"].HeaderText = "Блюдо";
- dgvDishSales.Columns["Категория"].HeaderText = "Категория";
- dgvDishSales.Columns["Кол-во"].HeaderText = "Кол-во продаж";
- dgvDishSales.Columns["Выручка (руб.)"].HeaderText = "Выручка (руб.)";
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show($"Ошибка: {ex.Message}");
- }
- }
- private void LoadWaiterStatsReport()
- {
- try
- {
- var dt = repo.GetWaiterStats(dtpWaiterStatsFrom.Value, dtpWaiterStatsTo.Value);
- dgvWaiterStats.DataSource = dt;
- if (dgvWaiterStats.Columns.Count > 0)
- {
- dgvWaiterStats.Columns["Официант"].HeaderText = "Официант";
- dgvWaiterStats.Columns["Заказов"].HeaderText = "Кол-во заказов";
- dgvWaiterStats.Columns["Сумма (руб.)"].HeaderText = "Сумма (руб.)";
- dgvWaiterStats.Columns["Средний заказ (руб.)"].HeaderText = "Средний чек (руб.)";
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show($"Ошибка: {ex.Message}");
- }
- }
- private void LoadPaymentMethodsReport()
- {
- try
- {
- var dt = repo.GetPaymentMethods(dtpPaymentMethodsFrom.Value, dtpPaymentMethodsTo.Value);
- dgvPaymentMethods.DataSource = dt;
- if (dgvPaymentMethods.Columns.Count > 0)
- {
- dgvPaymentMethods.Columns["Способ оплаты"].HeaderText = "Способ оплаты";
- dgvPaymentMethods.Columns["Кол-во"].HeaderText = "Кол-во";
- dgvPaymentMethods.Columns["Сумма (руб.)"].HeaderText = "Сумма (руб.)";
- dgvPaymentMethods.Columns["%"].HeaderText = "Доля (%)";
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show($"Ошибка: {ex.Message}");
- }
- }
- private void LoadLowStockReport()
- {
- try
- {
- var dt = repo.GetLowStock();
- dgvLowStock.DataSource = dt;
- if (dgvLowStock.Columns.Count > 0)
- {
- dgvLowStock.Columns["Ингредиент"].HeaderText = "Ингредиент";
- dgvLowStock.Columns["Ед. изм."].HeaderText = "Ед. изм.";
- dgvLowStock.Columns["Остаток"].HeaderText = "Остаток";
- dgvLowStock.Columns["Минимум"].HeaderText = "Минимальный запас";
- dgvLowStock.Columns["Поставщик"].HeaderText = "Поставщик";
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show($"Ошибка: {ex.Message}");
- }
- }
- }
- }
|