Compare commits
3 Commits
18de1f0149
...
e191d9a0cf
Author | SHA1 | Date | |
---|---|---|---|
e191d9a0cf | |||
cb2cd56fd8 | |||
9a711e04ce |
4
FlowerShop/FlowerShop/FormShopSupply.Designer.cs
generated
4
FlowerShop/FlowerShop/FormShopSupply.Designer.cs
generated
@ -75,12 +75,12 @@
|
||||
this.comboBoxShop.Size = new System.Drawing.Size(220, 23);
|
||||
this.comboBoxShop.TabIndex = 3;
|
||||
//
|
||||
// comboBoxDocument
|
||||
// comboBoxBouquet
|
||||
//
|
||||
this.comboBoxBouquet.FormattingEnabled = true;
|
||||
this.comboBoxBouquet.Location = new System.Drawing.Point(130, 52);
|
||||
this.comboBoxBouquet.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.comboBoxBouquet.Name = "comboBoxDocument";
|
||||
this.comboBoxBouquet.Name = "comboBoxBouquet";
|
||||
this.comboBoxBouquet.Size = new System.Drawing.Size(220, 23);
|
||||
this.comboBoxBouquet.TabIndex = 4;
|
||||
//
|
||||
|
@ -86,23 +86,24 @@ namespace FlowerShopBusinessLogic.BusinessLogics
|
||||
{
|
||||
CheckModel(model, false);
|
||||
|
||||
if (_orderStorage.GetElement(new OrderSearchModel { Id = model.Id })?.Status != OrderStatus.Выполняется)
|
||||
var order = _orderStorage.GetElement(new OrderSearchModel { Id = model.Id });
|
||||
if (order?.Status != OrderStatus.Выполняется)
|
||||
{
|
||||
_logger.LogWarning("Invalid order status");
|
||||
return false;
|
||||
}
|
||||
|
||||
var bouquet = _bouquetStorage.GetElement(new BouquetSearchModel() { Id = model.BouquetId });
|
||||
var bouquet = _bouquetStorage.GetElement(new BouquetSearchModel() { Id = order.BouquetId });
|
||||
if (bouquet == null)
|
||||
{
|
||||
_logger.LogWarning("Status update to Готов operation failed. Bouquet not found");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!CheckThenSupplyMany(bouquet, model.Count))
|
||||
if (!CheckThenSupplyMany(bouquet, order.Count))
|
||||
{
|
||||
_logger.LogWarning("Status update to Готов operation failed. Shop supply error.");
|
||||
return false;
|
||||
throw new Exception("В магазинах не хватает места!");
|
||||
}
|
||||
|
||||
model.Status = OrderStatus.Готов;
|
||||
|
@ -89,7 +89,7 @@ namespace FlowerShopBusinessLogic.BusinessLogics
|
||||
countBouquets += bouq.Value.Item2;
|
||||
}
|
||||
|
||||
if (shopElement.MaxCountBouquets - countBouquets > count)
|
||||
if (shopElement.MaxCountBouquets - countBouquets >= count)
|
||||
{
|
||||
if (shopElement.ShopBouquets.TryGetValue(bouquet.Id, out var sameBouquet))
|
||||
{
|
||||
@ -108,7 +108,8 @@ namespace FlowerShopBusinessLogic.BusinessLogics
|
||||
Name = shopElement.Name,
|
||||
Address = shopElement.Address,
|
||||
OpeningDate = shopElement.OpeningDate,
|
||||
ShopBouquets = shopElement.ShopBouquets
|
||||
ShopBouquets = shopElement.ShopBouquets,
|
||||
MaxCountBouquets = shopElement.MaxCountBouquets
|
||||
});
|
||||
}
|
||||
else
|
||||
|
@ -37,7 +37,7 @@ namespace FlowerShopFileImplement.Implements
|
||||
|
||||
public List<OrderViewModel> GetFullList()
|
||||
{
|
||||
return source.Orders.Select(x => x.GetViewModel).ToList();
|
||||
return source.Orders.Select(x => AttachBouquetName(x.GetViewModel)).ToList();
|
||||
}
|
||||
|
||||
public OrderViewModel? Update(OrderBindingModel model)
|
||||
@ -67,7 +67,7 @@ namespace FlowerShopFileImplement.Implements
|
||||
source.Orders.Add(newOrder);
|
||||
source.SaveOrders();
|
||||
|
||||
return newOrder.GetViewModel;
|
||||
return AttachBouquetName(newOrder.GetViewModel);
|
||||
}
|
||||
|
||||
public OrderViewModel? Delete(OrderBindingModel model)
|
||||
@ -81,7 +81,7 @@ namespace FlowerShopFileImplement.Implements
|
||||
source.Orders.Remove(order);
|
||||
source.SaveOrders();
|
||||
|
||||
return order.GetViewModel;
|
||||
return AttachBouquetName(order.GetViewModel);
|
||||
}
|
||||
|
||||
private OrderViewModel AttachBouquetName(OrderViewModel? model)
|
||||
|
@ -118,9 +118,8 @@ namespace FlowerShopFileImplement.Implements
|
||||
|
||||
count = countStore;
|
||||
|
||||
for (int i = 0; i < source.Shops.Count; i++)
|
||||
foreach(var shop in source.Shops)
|
||||
{
|
||||
var shop = source.Shops[i];
|
||||
var bouquets = shop.ShopBouquets;
|
||||
|
||||
foreach (var bouq in bouquets.Where(x => x.Value.Item1.Id == bouquet.Id))
|
||||
|
@ -60,7 +60,7 @@ namespace FlowerShopFileImplement.Models
|
||||
return new Bouquet()
|
||||
{
|
||||
Id = Convert.ToInt32(element.Attribute("Id")!.Value),
|
||||
BouquetName = element.Attribute("BouquetName")!.Value,
|
||||
BouquetName = element.Element("BouquetName")!.Value,
|
||||
Price = Convert.ToDouble(element.Element("Price")!.Value),
|
||||
Components = element.Element("BouquetComponents")!.Elements("BouquetComponent").ToDictionary(
|
||||
x => Convert.ToInt32(x.Element("Key")?.Value),
|
||||
|
@ -67,13 +67,8 @@ namespace FlowerShopFileImplement.Models
|
||||
return;
|
||||
}
|
||||
|
||||
BouquetId = model.BouquetId;
|
||||
Count = model.Count;
|
||||
Sum = model.Sum;
|
||||
Status = model.Status;
|
||||
DateCreate = model.DateCreate;
|
||||
DateImplement = model.DateImplement;
|
||||
Id = model.Id;
|
||||
}
|
||||
|
||||
public OrderViewModel GetViewModel => new()
|
||||
|
Loading…
Reference in New Issue
Block a user