From 33ec560a987bc99ae03410023958c19504c340d1 Mon Sep 17 00:00:00 2001 From: MorozovDanil Date: Sun, 15 Dec 2024 20:35:24 +0400 Subject: [PATCH] =?UTF-8?q?=D0=95=D1=81=D0=BB=D0=B8=20=D0=B3=D0=BB=D0=BE?= =?UTF-8?q?=D0=B1=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE,=20=D1=82=D0=BE=20=D1=80?= =?UTF-8?q?=D0=B5=D1=88=D0=B8=D0=BB=20=D1=83=D0=B1=D1=80=D0=B0=D1=82=D1=8C?= =?UTF-8?q?=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=20=D0=B7=D0=B0=D0=BA=D0=B0=D0=B7=D0=BE=D0=B2=20=D1=82=D0=BA.?= =?UTF-8?q?=20=D1=81=D1=87=D0=B8=D1=82=D0=B0=D1=8E=20=D1=8D=D1=82=D0=BE=20?= =?UTF-8?q?=D0=B8=D0=B7=D0=BB=D0=B8=D1=88=D0=BD=D0=B8=D0=BC=20=D0=B8=20?= =?UTF-8?q?=D0=BC=D0=BE=D0=B6=D0=B5=D1=82=20=D1=83=D0=B3=D1=80=D0=BE=D0=B6?= =?UTF-8?q?=D0=B0=D1=82=D1=8C=20=D1=86=D0=B5=D0=BB=D0=BE=D1=81=D1=82=D0=BD?= =?UTF-8?q?=D0=BE=D1=81=D1=82=D0=B8=20=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Forms/FormOrder.Designer.cs | 2 + .../ProjectRepairCompany/Forms/FormOrder.cs | 29 +++++----- .../ProjectRepairCompany/Forms/FormOrder.resx | 6 ++ .../Forms/FormOrders.Designer.cs | 14 ----- .../ProjectRepairCompany/Forms/FormOrders.cs | 22 ------- .../Forms/FormStorageDetail.cs | 12 +++- .../Repositories/IOrderRepository.cs | 1 - .../Implementations/OrderRepository.cs | 58 ------------------- 8 files changed, 30 insertions(+), 114 deletions(-) diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrder.Designer.cs b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrder.Designer.cs index 44845be..0b4d297 100644 --- a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrder.Designer.cs +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrder.Designer.cs @@ -91,6 +91,7 @@ // // dateTimePickerOrderDate // + dateTimePickerOrderDate.CausesValidation = false; dateTimePickerOrderDate.Enabled = false; dateTimePickerOrderDate.Location = new Point(190, 12); dateTimePickerOrderDate.Name = "dateTimePickerOrderDate"; @@ -110,6 +111,7 @@ dateTimeIssue.Name = "dateTimeIssue"; dateTimeIssue.Size = new Size(200, 25); dateTimeIssue.TabIndex = 6; + dateTimeIssue.Value = new DateTime(2024, 12, 15, 0, 0, 0, 0); // // label3 // diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrder.cs b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrder.cs index a9bb428..875e564 100644 --- a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrder.cs +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrder.cs @@ -33,6 +33,7 @@ namespace ProjectRepairCompany.Forms dateTimeCompletion.Value = order.DateCompletion; dateTimeIssue.Value = order.DateIssue; + dataGridView.Rows.Clear(); foreach (var detail in order.OrderDetails) { dataGridView.Rows.Add(detail.DetailId, detail.DetailCount); @@ -59,9 +60,9 @@ namespace ProjectRepairCompany.Forms comboBoxMaster.DisplayMember = "MasterName"; comboBoxMaster.ValueMember = "Id"; - Detail.DataSource = detailRepository.ReadDetails(); - Detail.DisplayMember = "NameDetail"; - Detail.ValueMember = "Id"; + Detail.DataSource = detailRepository.ReadDetails(); + Detail.DisplayMember = "NameDetail"; + Detail.ValueMember = "Id"; } private void ButtonSave_Click(object sender, EventArgs e) @@ -73,15 +74,9 @@ namespace ProjectRepairCompany.Forms throw new Exception("Имеются незаполненные поля."); } - var order = CreateOrder(); - if (_orderId.HasValue) - { - _orderRepository.UpdateOrder(order); - } - else - { - _orderRepository.CreateOrder(order); - } + var order = CreateOrder(); + _orderRepository.CreateOrder(order); + DialogResult = DialogResult.OK; Close(); } @@ -99,13 +94,15 @@ namespace ProjectRepairCompany.Forms foreach (DataGridViewRow row in dataGridView.Rows) { if (row.Cells["Detail"].Value == null || - row.Cells["DetailCount"].Value == null) + row.Cells["DetailCount"].Value == null) { continue; } - list.Add(OrderDetail.CreateOperation(0, - Convert.ToInt32(row.Cells["Detail"].Value), - Convert.ToInt32(row.Cells["DetailCount"].Value))); + list.Add(OrderDetail.CreateOperation( + _orderId ?? 0, + Convert.ToInt32(row.Cells["Detail"].Value), + Convert.ToInt32(row.Cells["DetailCount"].Value) + )); } return list; } diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrder.resx b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrder.resx index 3513ce1..27acbf9 100644 --- a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrder.resx +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrder.resx @@ -123,4 +123,10 @@ True + + True + + + True + \ No newline at end of file diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrders.Designer.cs b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrders.Designer.cs index 0dd8b3c..23dcdb5 100644 --- a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrders.Designer.cs +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrders.Designer.cs @@ -29,7 +29,6 @@ private void InitializeComponent() { panel1 = new Panel(); - ButtonUp = new Button(); ButtonDel = new Button(); ButtonAdd = new Button(); dataGridView = new DataGridView(); @@ -39,7 +38,6 @@ // // panel1 // - panel1.Controls.Add(ButtonUp); panel1.Controls.Add(ButtonDel); panel1.Controls.Add(ButtonAdd); panel1.Dock = DockStyle.Right; @@ -48,17 +46,6 @@ panel1.Size = new Size(193, 450); panel1.TabIndex = 2; // - // ButtonUp - // - ButtonUp.BackgroundImage = Properties.Resources.Feedbin_Icon_home_edit_svg; - ButtonUp.BackgroundImageLayout = ImageLayout.Stretch; - ButtonUp.Location = new Point(42, 113); - ButtonUp.Name = "ButtonUp"; - ButtonUp.Size = new Size(117, 77); - ButtonUp.TabIndex = 2; - ButtonUp.UseVisualStyleBackColor = true; - ButtonUp.Click += ButtonUp_Click; - // // ButtonDel // ButtonDel.BackgroundImage = Properties.Resources.Ic_remove_circle_48px_svg; @@ -117,7 +104,6 @@ #endregion private Panel panel1; - private Button ButtonUp; private Button ButtonDel; private Button ButtonAdd; private DataGridView dataGridView; diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrders.cs b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrders.cs index 2bfefbc..d2094dd 100644 --- a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrders.cs +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrders.cs @@ -53,28 +53,6 @@ namespace ProjectRepairCompany.Forms } } - private void ButtonUp_Click(object sender, EventArgs e) - { - if (!TryGetIdentifierFromSelectRow(out var findId)) - { - return; - } - try - { - var form = _container.Resolve(); - form.Id = findId; - if (form.ShowDialog() == DialogResult.OK) - { - LoadList(); - dataGridView.Refresh(); - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message, "Ошибка изменения", MessageBoxButtons.OK, MessageBoxIcon.Error); - } - } - private void ButtonDel_Click(object sender, EventArgs e) { diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorageDetail.cs b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorageDetail.cs index 7921428..6d3ca54 100644 --- a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorageDetail.cs +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorageDetail.cs @@ -10,13 +10,19 @@ namespace ProjectRepairCompany.Forms public partial class FormStorageDetail : Form { private readonly IStorageDetailRepository _storageDetailRepository; - private readonly IDetailRepository _detailRepository; - public FormStorageDetail(IStorageDetailRepository storageDetailRepository, IDetailRepository detailRepository) + public FormStorageDetail(IStorageDetailRepository storageDetailRepository, IDetailRepository detailRepository, IStorageRepository storageRepository) { InitializeComponent(); _storageDetailRepository = storageDetailRepository ?? throw new ArgumentNullException(nameof(storageDetailRepository)); - _detailRepository = detailRepository ?? throw new ArgumentNullException(nameof(detailRepository)); + + comboBoxAddress.DataSource = storageRepository.ReadStorages(); + comboBoxAddress.DisplayMember = "StorageAddress"; + comboBoxAddress.ValueMember = "Id"; + + comboBoxDetail.DataSource = detailRepository.ReadDetails(); + comboBoxDetail.DisplayMember = "NameDetail"; + comboBoxDetail.ValueMember = "Id"; } private void ButtonSave_Click(object sender, EventArgs e) diff --git a/ProjectRepairCompany/ProjectRepairCompany/Repositories/IOrderRepository.cs b/ProjectRepairCompany/ProjectRepairCompany/Repositories/IOrderRepository.cs index 1dac1bd..0a7e741 100644 --- a/ProjectRepairCompany/ProjectRepairCompany/Repositories/IOrderRepository.cs +++ b/ProjectRepairCompany/ProjectRepairCompany/Repositories/IOrderRepository.cs @@ -12,6 +12,5 @@ public interface IOrderRepository IEnumerable ReadOrders(); Order ReadOrderById(int id); void CreateOrder(Order order); - void UpdateOrder(Order order); void DeleteOrder(int id); } diff --git a/ProjectRepairCompany/ProjectRepairCompany/Repositories/Implementations/OrderRepository.cs b/ProjectRepairCompany/ProjectRepairCompany/Repositories/Implementations/OrderRepository.cs index 07fe582..56d039b 100644 --- a/ProjectRepairCompany/ProjectRepairCompany/Repositories/Implementations/OrderRepository.cs +++ b/ProjectRepairCompany/ProjectRepairCompany/Repositories/Implementations/OrderRepository.cs @@ -64,64 +64,6 @@ public class OrderRepository : IOrderRepository } } - public void UpdateOrder(Order order) -{ - _logger.LogInformation("Обновление заказа с Id {OrderId}", order.Id); - _logger.LogDebug("Обновляемый объект заказа: {json}", JsonConvert.SerializeObject(order)); - - try - { - using var connection = new NpgsqlConnection(_connectionString.ConnectionString); - connection.Open(); - using var transaction = connection.BeginTransaction(); - - var queryUpdate = @" - UPDATE ""Order"" - SET DateCompletion = @DateCompletion, - DateIssue = @DateIssue, - FullPrice = @FullPrice, - MasterId = @MasterId - WHERE Id = @Id"; - - connection.Execute(queryUpdate, new - { - order.Id, - order.DateCompletion, - order.DateIssue, - order.FullPrice, - order.MasterId - }, transaction); - - _logger.LogInformation("Заказ с Id {OrderId} обновлен.", order.Id); - - var queryDeleteDetails = "DELETE FROM OrderDetail WHERE OrderId = @OrderId"; - connection.Execute(queryDeleteDetails, new { order.Id }, transaction); - - var queryInsertDetails = @" - INSERT INTO OrderDetail (OrderId, DetailId, DetailCount) - VALUES (@OrderId, @DetailId, @DetailCount)"; - - foreach (var detail in order.OrderDetails) - { - connection.Execute(queryInsertDetails, new - { - order.Id, - detail.DetailId, - detail.DetailCount - }, transaction); - } - - transaction.Commit(); - _logger.LogInformation("Детали для заказа с Id {OrderId} обновлены.", order.Id); - } - catch (Exception ex) - { - _logger.LogError(ex, "Ошибка при обновлении заказа с Id {OrderId}.", order.Id); - throw; - } -} - - public void DeleteOrder(int id) {