edit 5
This commit is contained in:
parent
c84c2beeeb
commit
278dc1ea67
65
Pizzeria/Pizzeria/FormCreateOrder.Designer.cs
generated
65
Pizzeria/Pizzeria/FormCreateOrder.Designer.cs
generated
@ -36,42 +36,42 @@
|
||||
labelSum = new Label();
|
||||
textBoxSum = new TextBox();
|
||||
comboBoxPizza = new ComboBox();
|
||||
comboBoxClient = new ComboBox();
|
||||
labelClient = new Label();
|
||||
SuspendLayout();
|
||||
//
|
||||
// textBoxCount
|
||||
//
|
||||
textBoxCount.Location = new Point(113, 55);
|
||||
textBoxCount.Margin = new Padding(3, 4, 3, 4);
|
||||
textBoxCount.Location = new Point(99, 73);
|
||||
textBoxCount.Name = "textBoxCount";
|
||||
textBoxCount.Size = new Size(266, 27);
|
||||
textBoxCount.Size = new Size(233, 23);
|
||||
textBoxCount.TabIndex = 13;
|
||||
textBoxCount.TextChanged += textBoxCount_TextChanged;
|
||||
//
|
||||
// labelCount
|
||||
//
|
||||
labelCount.AutoSize = true;
|
||||
labelCount.Location = new Point(13, 59);
|
||||
labelCount.Location = new Point(11, 76);
|
||||
labelCount.Name = "labelCount";
|
||||
labelCount.Size = new Size(93, 20);
|
||||
labelCount.Size = new Size(75, 15);
|
||||
labelCount.TabIndex = 12;
|
||||
labelCount.Text = "Количество:";
|
||||
//
|
||||
// labelPizza
|
||||
//
|
||||
labelPizza.AutoSize = true;
|
||||
labelPizza.Location = new Point(13, 20);
|
||||
labelPizza.Location = new Point(11, 15);
|
||||
labelPizza.Name = "labelPizza";
|
||||
labelPizza.Size = new Size(55, 20);
|
||||
labelPizza.Size = new Size(43, 15);
|
||||
labelPizza.TabIndex = 11;
|
||||
labelPizza.Text = "Пицца";
|
||||
//
|
||||
// buttonCancel
|
||||
//
|
||||
buttonCancel.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
|
||||
buttonCancel.Location = new Point(294, 145);
|
||||
buttonCancel.Margin = new Padding(3, 4, 3, 4);
|
||||
buttonCancel.Location = new Point(257, 170);
|
||||
buttonCancel.Name = "buttonCancel";
|
||||
buttonCancel.Size = new Size(86, 31);
|
||||
buttonCancel.Size = new Size(75, 23);
|
||||
buttonCancel.TabIndex = 15;
|
||||
buttonCancel.Text = "Отмена";
|
||||
buttonCancel.UseVisualStyleBackColor = true;
|
||||
@ -80,10 +80,9 @@
|
||||
// buttonSave
|
||||
//
|
||||
buttonSave.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
|
||||
buttonSave.Location = new Point(193, 145);
|
||||
buttonSave.Margin = new Padding(3, 4, 3, 4);
|
||||
buttonSave.Location = new Point(169, 170);
|
||||
buttonSave.Name = "buttonSave";
|
||||
buttonSave.Size = new Size(94, 31);
|
||||
buttonSave.Size = new Size(82, 23);
|
||||
buttonSave.TabIndex = 16;
|
||||
buttonSave.Text = "Сохранить";
|
||||
buttonSave.UseVisualStyleBackColor = true;
|
||||
@ -92,36 +91,53 @@
|
||||
// labelSum
|
||||
//
|
||||
labelSum.AutoSize = true;
|
||||
labelSum.Location = new Point(13, 97);
|
||||
labelSum.Location = new Point(11, 105);
|
||||
labelSum.Name = "labelSum";
|
||||
labelSum.Size = new Size(58, 20);
|
||||
labelSum.Size = new Size(48, 15);
|
||||
labelSum.TabIndex = 12;
|
||||
labelSum.Text = "Сумма:";
|
||||
//
|
||||
// textBoxSum
|
||||
//
|
||||
textBoxSum.Location = new Point(113, 93);
|
||||
textBoxSum.Margin = new Padding(3, 4, 3, 4);
|
||||
textBoxSum.Location = new Point(99, 102);
|
||||
textBoxSum.Name = "textBoxSum";
|
||||
textBoxSum.ReadOnly = true;
|
||||
textBoxSum.Size = new Size(266, 27);
|
||||
textBoxSum.Size = new Size(233, 23);
|
||||
textBoxSum.TabIndex = 13;
|
||||
//
|
||||
// comboBoxPizza
|
||||
//
|
||||
comboBoxPizza.DropDownStyle = ComboBoxStyle.DropDownList;
|
||||
comboBoxPizza.FormattingEnabled = true;
|
||||
comboBoxPizza.Location = new Point(113, 16);
|
||||
comboBoxPizza.Margin = new Padding(3, 4, 3, 4);
|
||||
comboBoxPizza.Location = new Point(99, 12);
|
||||
comboBoxPizza.Name = "comboBoxPizza";
|
||||
comboBoxPizza.Size = new Size(266, 28);
|
||||
comboBoxPizza.Size = new Size(233, 23);
|
||||
comboBoxPizza.TabIndex = 17;
|
||||
//
|
||||
// comboBoxClient
|
||||
//
|
||||
comboBoxClient.FormattingEnabled = true;
|
||||
comboBoxClient.Location = new Point(99, 43);
|
||||
comboBoxClient.Name = "comboBoxClient";
|
||||
comboBoxClient.Size = new Size(233, 23);
|
||||
comboBoxClient.TabIndex = 18;
|
||||
//
|
||||
// labelClient
|
||||
//
|
||||
labelClient.AutoSize = true;
|
||||
labelClient.Location = new Point(12, 46);
|
||||
labelClient.Name = "labelClient";
|
||||
labelClient.Size = new Size(46, 15);
|
||||
labelClient.TabIndex = 19;
|
||||
labelClient.Text = "Клиент";
|
||||
//
|
||||
// FormCreateOrder
|
||||
//
|
||||
AutoScaleDimensions = new SizeF(8F, 20F);
|
||||
AutoScaleDimensions = new SizeF(7F, 15F);
|
||||
AutoScaleMode = AutoScaleMode.Font;
|
||||
ClientSize = new Size(401, 200);
|
||||
ClientSize = new Size(351, 211);
|
||||
Controls.Add(labelClient);
|
||||
Controls.Add(comboBoxClient);
|
||||
Controls.Add(comboBoxPizza);
|
||||
Controls.Add(buttonCancel);
|
||||
Controls.Add(buttonSave);
|
||||
@ -130,7 +146,6 @@
|
||||
Controls.Add(textBoxCount);
|
||||
Controls.Add(labelCount);
|
||||
Controls.Add(labelPizza);
|
||||
Margin = new Padding(3, 4, 3, 4);
|
||||
Name = "FormCreateOrder";
|
||||
Text = "Заказ";
|
||||
Load += FormCreateOrder_Load;
|
||||
@ -147,5 +162,7 @@
|
||||
private Label labelSum;
|
||||
private TextBox textBoxSum;
|
||||
private ComboBox comboBoxPizza;
|
||||
private ComboBox comboBoxClient;
|
||||
private Label labelClient;
|
||||
}
|
||||
}
|
@ -11,12 +11,14 @@ namespace Pizzeria
|
||||
private readonly ILogger _logger;
|
||||
private readonly IPizzaLogic _logicP;
|
||||
private readonly IOrderLogic _logicO;
|
||||
private readonly IClientLogic _logicC;
|
||||
|
||||
public FormCreateOrder(ILogger<FormCreateOrder> logger, IPizzaLogic logicP, IOrderLogic logicO)
|
||||
public FormCreateOrder(ILogger<FormCreateOrder> logger, IPizzaLogic logicP, IOrderLogic logicO, IClientLogic logicC)
|
||||
{
|
||||
InitializeComponent();
|
||||
_logger = logger;
|
||||
_logicP = logicP;
|
||||
_logicC = logicC;
|
||||
_logicO = logicO;
|
||||
}
|
||||
private void FormCreateOrder_Load(object sender, EventArgs e)
|
||||
@ -32,12 +34,29 @@ namespace Pizzeria
|
||||
comboBoxPizza.DataSource = _list;
|
||||
comboBoxPizza.SelectedItem = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "Ошибка при загрузке пиццы для заказа");
|
||||
MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
_logger.LogInformation("Loading clients for order");
|
||||
try
|
||||
{
|
||||
var clientList = _logicC.ReadList(null);
|
||||
if (clientList != null)
|
||||
{
|
||||
comboBoxClient.DisplayMember = "ClientFIO";
|
||||
comboBoxClient.ValueMember = "Id";
|
||||
comboBoxClient.DataSource = clientList;
|
||||
comboBoxClient.SelectedItem = null;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "Error during loading clients for order");
|
||||
MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
private void CalcSum()
|
||||
@ -52,7 +71,7 @@ namespace Pizzeria
|
||||
Id = id
|
||||
});
|
||||
int count = Convert.ToInt32(textBoxCount.Text);
|
||||
textBoxSum.Text = Math.Round(count * (Pizza?.Price ?? 0),2).ToString();
|
||||
textBoxSum.Text = Math.Round(count * (Pizza?.Price ?? 0), 2).ToString();
|
||||
_logger.LogInformation("Расчет суммы заказа");
|
||||
}
|
||||
catch (Exception ex)
|
||||
@ -89,7 +108,12 @@ namespace Pizzeria
|
||||
}
|
||||
if (comboBoxPizza.SelectedValue == null)
|
||||
{
|
||||
MessageBox.Show("Выберите пицца", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
MessageBox.Show("Выберите пиццу", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
return;
|
||||
}
|
||||
if (comboBoxClient.SelectedValue == null)
|
||||
{
|
||||
MessageBox.Show("Выберите клиента", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
return;
|
||||
}
|
||||
_logger.LogInformation("Создание заказа");
|
||||
@ -98,6 +122,7 @@ namespace Pizzeria
|
||||
var operationResult = _logicO.CreateOrder(new OrderBindingModel
|
||||
{
|
||||
PizzaId = Convert.ToInt32(comboBoxPizza.SelectedValue),
|
||||
ClientId = Convert.ToInt32(comboBoxClient.SelectedValue),
|
||||
Count = Convert.ToInt32(textBoxCount.Text),
|
||||
Sum = Convert.ToDouble(textBoxSum.Text)
|
||||
});
|
||||
|
@ -4,8 +4,6 @@ using PizzeriaContracts.ViewModels;
|
||||
using PizzeriaDatabaseImplement.Models;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using PizzeriaContracts.StorageContracts;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace PizzeriaDatabaseImplement.Implements
|
||||
{
|
||||
@ -14,7 +12,11 @@ namespace PizzeriaDatabaseImplement.Implements
|
||||
public List<OrderViewModel> GetFullList()
|
||||
{
|
||||
using var context = new PizzeriaDatabase();
|
||||
return context.Orders.Include(x => x.Pizza).Include(x => x.Client).Select(x => x.GetViewModel).ToList();
|
||||
return context.Orders
|
||||
.Include(x => x.Pizza)
|
||||
.Include(x => x.Client)
|
||||
.Select(x => x.GetViewModel)
|
||||
.ToList();
|
||||
}
|
||||
|
||||
public List<OrderViewModel> GetFilteredList(OrderSearchModel model)
|
||||
@ -22,13 +24,28 @@ namespace PizzeriaDatabaseImplement.Implements
|
||||
using var context = new PizzeriaDatabase();
|
||||
if (model.DateFrom.HasValue)
|
||||
{
|
||||
return context.Orders.Include(x => x.Pizza).Where(x => x.DateCreate >= model.DateFrom && x.DateCreate <= model.DateTo).Select(x => x.GetViewModel).ToList();
|
||||
return context.Orders
|
||||
.Include(x => x.Pizza)
|
||||
.Include(x => x.Client)
|
||||
.Where(x => x.DateCreate >= model.DateFrom && x.DateCreate <= model.DateTo)
|
||||
.Select(x => x.GetViewModel)
|
||||
.ToList();
|
||||
}
|
||||
if (model.ClientId.HasValue)
|
||||
{
|
||||
return context.Orders.Include(x => x.Pizza).Where(x => x.ClientId == model.ClientId).Select(x => x.GetViewModel).ToList();
|
||||
return context.Orders
|
||||
.Include(x => x.Pizza)
|
||||
.Include(x => x.Client)
|
||||
.Where(x => x.ClientId == model.ClientId)
|
||||
.Select(x => x.GetViewModel)
|
||||
.ToList();
|
||||
}
|
||||
return context.Orders.Include(x => x.Pizza).Where(x => x.Id == model.Id).Select(x => x.GetViewModel).ToList();
|
||||
return context.Orders
|
||||
.Include(x => x.Pizza)
|
||||
.Include(x => x.Client)
|
||||
.Where(x => x.Id == model.Id)
|
||||
.Select(x => x.GetViewModel)
|
||||
.ToList();
|
||||
}
|
||||
|
||||
public OrderViewModel? GetElement(OrderSearchModel model)
|
||||
@ -38,7 +55,11 @@ namespace PizzeriaDatabaseImplement.Implements
|
||||
return new();
|
||||
}
|
||||
using var context = new PizzeriaDatabase();
|
||||
return context.Orders.Include(x => x.Pizza).FirstOrDefault(x => x.Id == model.Id)?.GetViewModel;
|
||||
return context.Orders
|
||||
.Include(x => x.Pizza)
|
||||
.Include(x => x.Client)
|
||||
.FirstOrDefault(x => x.Id == model.Id)
|
||||
?.GetViewModel;
|
||||
}
|
||||
|
||||
public OrderViewModel? Insert(OrderBindingModel model)
|
||||
@ -53,7 +74,11 @@ namespace PizzeriaDatabaseImplement.Implements
|
||||
}
|
||||
context.Orders.Add(newOrder);
|
||||
context.SaveChanges();
|
||||
return newOrder.GetViewModel;
|
||||
return context.Orders
|
||||
.Include(x => x.Pizza)
|
||||
.Include(x => x.Client)
|
||||
.FirstOrDefault(x => x.Id == newOrder.Id)
|
||||
?.GetViewModel;
|
||||
}
|
||||
|
||||
public OrderViewModel? Update(OrderBindingModel model)
|
||||
@ -66,7 +91,11 @@ namespace PizzeriaDatabaseImplement.Implements
|
||||
}
|
||||
order.Update(model);
|
||||
context.SaveChanges();
|
||||
return order.GetViewModel;
|
||||
return context.Orders
|
||||
.Include(x => x.Pizza)
|
||||
.Include(x => x.Client)
|
||||
.FirstOrDefault(x => x.Id == model.Id)
|
||||
?.GetViewModel;
|
||||
}
|
||||
|
||||
public OrderViewModel? Delete(OrderBindingModel model)
|
||||
@ -75,9 +104,14 @@ namespace PizzeriaDatabaseImplement.Implements
|
||||
var order = context.Orders.FirstOrDefault(rec => rec.Id == model.Id);
|
||||
if (order != null)
|
||||
{
|
||||
var deletedElement = context.Orders
|
||||
.Include(x => x.Pizza)
|
||||
.Include(x => x.Client)
|
||||
.FirstOrDefault(x => x.Id == model.Id)
|
||||
?.GetViewModel;
|
||||
context.Orders.Remove(order);
|
||||
context.SaveChanges();
|
||||
return order.GetViewModel;
|
||||
return deletedElement;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user