/
DataTimeModule
/
DateTime
Обзор
Документация
Войти
/
DataTimeModule
/
DateTime
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
SQLDataDriver/OrdersForm.cs
78 строк
2 KB
Reeltell
upload
27 май 2026, 01:50
27 май 2026, 01:50
f282598
Код
Авторство
О чём код?
namespace SQLDataDriver { public partial class OrdersForm : Form { private readonly bool isAdmin; public OrdersForm(bool isAdmin) { InitializeComponent(); UiStyle.Apply(this); this.isAdmin = isAdmin; } private void OrdersForm_Load(object sender, EventArgs e) { addButton.Visible = isAdmin; LoadOrders(); } private void LoadOrders() { ordersPanel.Controls.Clear(); string sql = """ SELECT o.OrderId, o.OrderDate, o.DeliveryDate, pp.Address, os.Title AS Status, (SELECT STRING_AGG(Article, ', ') FROM OrderProducts WHERE OrderId = o.OrderId) AS Products FROM Orders o JOIN PickupPoints pp ON o.PickupPointId = pp.PickupPointId JOIN OrderStatuses os ON o.OrderStatusId = os.OrderStatusId ORDER BY o.OrderId """; Db.Read(sql, r => { var card = new OrderCard(); card.SetOrder( Db.I(r, "OrderId"), Db.S(r, "Products"), Db.S(r, "Status"), Db.S(r, "Address"), Db.T(r, "OrderDate"), Db.T(r, "DeliveryDate"), isAdmin); card.EditOrder += OpenEditForm; card.DeleteOrder += DeleteOrder; ordersPanel.Controls.Add(card); }); } private void addButton_Click(object sender, EventArgs e) { OpenEditForm(0); } private void OpenEditForm(int orderId) { using var form = new OrderEditForm(orderId); form.ShowDialog(); LoadOrders(); } private void DeleteOrder(int orderId) { if (!Db.Confirm("Удалить заказ?")) return; Db.Exec("DELETE FROM OrderProducts WHERE OrderId=@id; DELETE FROM Orders WHERE OrderId=@id", ("@id", orderId)); LoadOrders(); } private void closeButton_Click(object sender, EventArgs e) { Close(); } } }