diff --git a/Diner/DinerView/FormCreateOrder.cs b/Diner/DinerView/FormCreateOrder.cs index fdb9ebc..ab0d45c 100644 --- a/Diner/DinerView/FormCreateOrder.cs +++ b/Diner/DinerView/FormCreateOrder.cs @@ -1,6 +1,7 @@ using DinerContracts.BindingModels; using DinerContracts.BusinessLogicsContacts; using DinerContracts.SearchModels; +using DinerDataModels.Enums; using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; @@ -37,6 +38,7 @@ namespace DinerView int id = Convert.ToInt32(comboBoxProduct.SelectedValue); var product = _logicSnack.ReadElement(new SnackSearchModel { ID = id }); int count = Convert.ToInt32(textBoxCount.Text); + textBoxSum.Text = Math.Round(count * (product?.Price ?? 0), 2).ToString(); _logger.LogInformation("Расчет суммы заказа"); } catch (Exception ex) @@ -77,7 +79,8 @@ namespace DinerView { ProductID = Convert.ToInt32(comboBoxProduct.SelectedValue), Count = Convert.ToInt32(textBoxCount.Text), - Sum = Convert.ToDouble(textBoxSum.Text) + Sum = Convert.ToDouble(textBoxSum.Text), + }); if (!operationResult) throw new Exception("Ошибка при создании заказа. Дополнительная информация в логах."); MessageBox.Show("Сохранение прошло успешно", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information); @@ -105,7 +108,7 @@ namespace DinerView var list = _logicSnack.ReadList(null); if (list != null) { - comboBoxProduct.DisplayMember = "SnackName"; + comboBoxProduct.DisplayMember = "ProductName"; comboBoxProduct.ValueMember = "ID"; comboBoxProduct.DataSource = list; comboBoxProduct.SelectedItem = null; diff --git a/Diner/DinerView/FormFoods.cs b/Diner/DinerView/FormFoods.cs index b780e0e..0ce206a 100644 --- a/Diner/DinerView/FormFoods.cs +++ b/Diner/DinerView/FormFoods.cs @@ -47,14 +47,9 @@ namespace DinerView private void buttonAdd_Click(object sender, EventArgs e) { - if (dataGridView.SelectedRows.Count == 1) - { - var service = Program.ServiceProvider?.GetService(typeof(FormFood)); - if (service is FormFood form) - { - form.ID = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["ID"].Value); - if (form.ShowDialog() == DialogResult.OK) LoadData(); - } + var service = Program.ServiceProvider?.GetService(typeof(FormFood)); + if (service is FormFood form) { + if (form.ShowDialog() == DialogResult.OK) LoadData(); } } diff --git a/Diner/DinerView/FormMain.Designer.cs b/Diner/DinerView/FormMain.Designer.cs index 0d2183c..f90cca1 100644 --- a/Diner/DinerView/FormMain.Designer.cs +++ b/Diner/DinerView/FormMain.Designer.cs @@ -48,7 +48,7 @@ menuStrip.Items.AddRange(new ToolStripItem[] { toolStripMenuItemMenu }); menuStrip.Location = new Point(0, 0); menuStrip.Name = "menuStrip"; - menuStrip.Size = new Size(1019, 24); + menuStrip.Size = new Size(951, 24); menuStrip.TabIndex = 0; menuStrip.Text = "Справочник"; // @@ -75,18 +75,24 @@ // // dataGridView // + dataGridView.AllowUserToAddRows = false; + dataGridView.AllowUserToDeleteRows = false; + dataGridView.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; dataGridView.BackgroundColor = SystemColors.Control; dataGridView.BorderStyle = BorderStyle.None; dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; - dataGridView.Dock = DockStyle.Left; dataGridView.Location = new Point(0, 24); + dataGridView.MultiSelect = false; dataGridView.Name = "dataGridView"; - dataGridView.Size = new Size(789, 426); - dataGridView.TabIndex = 1; + dataGridView.ReadOnly = true; + dataGridView.RowHeadersVisible = false; + dataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect; + dataGridView.Size = new Size(726, 426); + dataGridView.TabIndex = 0; // // buttonCreateOrder // - buttonCreateOrder.Location = new Point(795, 36); + buttonCreateOrder.Location = new Point(732, 36); buttonCreateOrder.Name = "buttonCreateOrder"; buttonCreateOrder.Size = new Size(212, 39); buttonCreateOrder.TabIndex = 2; @@ -96,7 +102,7 @@ // // buttonInWork // - buttonInWork.Location = new Point(795, 81); + buttonInWork.Location = new Point(732, 81); buttonInWork.Name = "buttonInWork"; buttonInWork.Size = new Size(212, 39); buttonInWork.TabIndex = 3; @@ -106,7 +112,7 @@ // // buttonIsReady // - buttonIsReady.Location = new Point(795, 126); + buttonIsReady.Location = new Point(732, 126); buttonIsReady.Name = "buttonIsReady"; buttonIsReady.Size = new Size(212, 39); buttonIsReady.TabIndex = 4; @@ -116,7 +122,7 @@ // // buttonIsDelivery // - buttonIsDelivery.Location = new Point(795, 171); + buttonIsDelivery.Location = new Point(732, 171); buttonIsDelivery.Name = "buttonIsDelivery"; buttonIsDelivery.Size = new Size(212, 39); buttonIsDelivery.TabIndex = 5; @@ -126,7 +132,7 @@ // // buttonUpdateList // - buttonUpdateList.Location = new Point(795, 216); + buttonUpdateList.Location = new Point(732, 216); buttonUpdateList.Name = "buttonUpdateList"; buttonUpdateList.Size = new Size(212, 39); buttonUpdateList.TabIndex = 6; @@ -139,7 +145,7 @@ AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; BackColor = SystemColors.ScrollBar; - ClientSize = new Size(1019, 450); + ClientSize = new Size(951, 450); Controls.Add(buttonUpdateList); Controls.Add(buttonIsDelivery); Controls.Add(buttonIsReady); diff --git a/Diner/DinerView/FormSnack.Designer.cs b/Diner/DinerView/FormSnack.Designer.cs index 2069a27..320031c 100644 --- a/Diner/DinerView/FormSnack.Designer.cs +++ b/Diner/DinerView/FormSnack.Designer.cs @@ -38,9 +38,9 @@ buttonChange = new Button(); buttonAdd = new Button(); dataGridView = new DataGridView(); + ColumnID = new DataGridViewTextBoxColumn(); ColumnFood = new DataGridViewTextBoxColumn(); ColumnCount = new DataGridViewTextBoxColumn(); - ColumnID = new DataGridViewTextBoxColumn(); buttonCancel = new Button(); buttonSave = new Button(); groupBoxFoods.SuspendLayout(); @@ -147,18 +147,26 @@ dataGridView.BackgroundColor = SystemColors.ButtonFace; dataGridView.BorderStyle = BorderStyle.None; dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; - dataGridView.Columns.AddRange(new DataGridViewColumn[] { ColumnFood, ColumnCount, ColumnID }); + dataGridView.Columns.AddRange(new DataGridViewColumn[] { ColumnID, ColumnFood, ColumnCount }); dataGridView.Dock = DockStyle.Left; dataGridView.Location = new Point(3, 19); dataGridView.MultiSelect = false; dataGridView.Name = "dataGridView"; dataGridView.ReadOnly = true; dataGridView.RowHeadersVisible = false; + dataGridView.RowTemplate.DefaultCellStyle.ForeColor = Color.Black; dataGridView.RowTemplate.Height = 22; dataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect; dataGridView.Size = new Size(437, 351); dataGridView.TabIndex = 0; // + // ColumnID + // + ColumnID.HeaderText = "ID"; + ColumnID.Name = "ColumnID"; + ColumnID.ReadOnly = true; + ColumnID.Visible = false; + // // ColumnFood // ColumnFood.HeaderText = "Food"; @@ -172,13 +180,6 @@ ColumnCount.Name = "ColumnCount"; ColumnCount.ReadOnly = true; // - // ColumnID - // - ColumnID.HeaderText = "ID"; - ColumnID.Name = "ColumnID"; - ColumnID.ReadOnly = true; - ColumnID.Visible = false; - // // buttonCancel // buttonCancel.Location = new Point(587, 30); @@ -230,12 +231,12 @@ private DataGridView dataGridView; private Button buttonChange; private Button buttonAdd; - private DataGridViewTextBoxColumn ColumnFood; - private DataGridViewTextBoxColumn ColumnCount; - private DataGridViewTextBoxColumn ColumnID; private Button buttonUpdate; private Button buttonRemove; private Button buttonCancel; private Button buttonSave; + private DataGridViewTextBoxColumn ColumnID; + private DataGridViewTextBoxColumn ColumnFood; + private DataGridViewTextBoxColumn ColumnCount; } } \ No newline at end of file diff --git a/Diner/DinerView/FormSnack.resx b/Diner/DinerView/FormSnack.resx index d84b5d1..e97a008 100644 --- a/Diner/DinerView/FormSnack.resx +++ b/Diner/DinerView/FormSnack.resx @@ -117,13 +117,13 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + True + True True - - True - \ No newline at end of file diff --git a/Diner/DinerView/FormSnackFood.cs b/Diner/DinerView/FormSnackFood.cs index 6ca4a12..fe603ca 100644 --- a/Diner/DinerView/FormSnackFood.cs +++ b/Diner/DinerView/FormSnackFood.cs @@ -57,7 +57,7 @@ namespace DinerView _list = logic.ReadList(null); if (_list != null) { - comboBoxComponent.DisplayMember = "FoodName"; + comboBoxComponent.DisplayMember = "ComponentName"; comboBoxComponent.ValueMember = "ID"; comboBoxComponent.DataSource = _list; comboBoxComponent.SelectedItem = null; diff --git a/Diner/DineryBusinessLogic/BusinessLogic/OrderLogic.cs b/Diner/DineryBusinessLogic/BusinessLogic/OrderLogic.cs index 032e0b0..39059c0 100644 --- a/Diner/DineryBusinessLogic/BusinessLogic/OrderLogic.cs +++ b/Diner/DineryBusinessLogic/BusinessLogic/OrderLogic.cs @@ -70,9 +70,6 @@ namespace DineryBusinessLogic.BusinessLogic _logger.LogInformation("Order. ProductID:{ProductID}. Count:{Count}. Sum:{Sum}. Status:{Status}. " + "DateCreate:{DateCreate}. DateImplement:{DateImplement}. ID:{ID}", model.ProductID, model.Count, model.Sum, model.Status, model.DateCreate, model.DateImplement, model.ID); - var element = _orderStorage.GetElement(new OrderSearchModel { ID = model.ID }); - if (element == null) - throw new InvalidOperationException("Нет такого заказа"); } private bool StatusUpdate(OrderBindingModel model, OrderStatus newOrderStatus) { CheckModel(model, false); @@ -82,7 +79,15 @@ namespace DineryBusinessLogic.BusinessLogic return false; } model.Status = newOrderStatus; - if (model.Status == OrderStatus.Готов) model.DateImplement = DateTime.Now; + var viewModel = _orderStorage.GetElement(new OrderSearchModel { ID = model.ID }); + if (viewModel == null) { + throw new ArgumentNullException(nameof(model)); + } + viewModel.Status = model.Status; + if (model.Status == OrderStatus.Готов) { + model.DateImplement = DateTime.Now; + viewModel.DateImplement = DateTime.Now; + } return true; } }