/
DataTimeModule
/
DateTime
Обзор
Документация
Войти
/
DataTimeModule
/
DateTime
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
SQLDataDriver/OrderEditForm.cs
88 строк
3 KB
Reeltell
upload
27 май 2026, 01:50
27 май 2026, 01:50
f282598
Код
Авторство
О чём код?
namespace SQLDataDriver { public partial class OrderEditForm : Form { private readonly int orderId; public OrderEditForm(int orderId) { InitializeComponent(); UiStyle.Apply(this); this.orderId = orderId; } private bool IsEdit => orderId != 0; private void OrderEditForm_Load(object sender, EventArgs e) { Db.Combo(articleComboBox, "SELECT Article FROM Products ORDER BY Article", "Article", "Article"); Db.Combo(statusComboBox, "SELECT OrderStatusId, Title FROM OrderStatuses ORDER BY Title", "Title", "OrderStatusId"); Db.Combo(pickupComboBox, "SELECT PickupPointId, Address FROM PickupPoints ORDER BY PickupPointId", "Address", "PickupPointId"); if (IsEdit) { LoadOrder(); } } private void LoadOrder() { string sql = """ SELECT o.*, (SELECT TOP 1 Article FROM OrderProducts WHERE OrderId=o.OrderId) AS Article FROM Orders o WHERE o.OrderId=@id """; bool ok = Db.One(sql, r => { articleComboBox.SelectedValue = Db.S(r, "Article"); statusComboBox.SelectedValue = Db.I(r, "OrderStatusId"); pickupComboBox.SelectedValue = Db.I(r, "PickupPointId"); orderDatePicker.Value = Db.T(r, "OrderDate"); deliveryDatePicker.Value = Db.T(r, "DeliveryDate"); }, ("@id", orderId)); if (!ok) Close(); } private void saveButton_Click(object sender, EventArgs e) { int id = IsEdit ? orderId : NewOrderId(); string article = articleComboBox.SelectedValue?.ToString() ?? ""; string sql = IsEdit ? """ UPDATE Orders SET OrderDate=@orderDate, DeliveryDate=@deliveryDate, PickupPointId=@point, OrderStatusId=@status WHERE OrderId=@id; DELETE FROM OrderProducts WHERE OrderId=@id; INSERT INTO OrderProducts(OrderId, Article, Quantity) VALUES(@id, @article, 1); """ : """ INSERT INTO Orders(OrderId, OrderDate, DeliveryDate, PickupPointId, UserId, ReceiptCode, OrderStatusId) VALUES(@id, @orderDate, @deliveryDate, @point, NULL, @code, @status); INSERT INTO OrderProducts(OrderId, Article, Quantity) VALUES(@id, @article, 1); """; Db.Exec(sql, ("@id", id), ("@orderDate", orderDatePicker.Value.Date), ("@deliveryDate", deliveryDatePicker.Value.Date), ("@point", pickupComboBox.SelectedValue), ("@status", statusComboBox.SelectedValue), ("@article", article), ("@code", (900 + id).ToString())); Close(); } private int NewOrderId() { return Convert.ToInt32(Db.Scalar("SELECT ISNULL(MAX(OrderId), 0) + 1 FROM Orders")); } private void cancelButton_Click(object sender, EventArgs e) { Close(); } } }