исправлено добавление изделий в магазины

This commit is contained in:
Данияр Аглиуллов 2023-02-18 19:15:28 +04:00
parent a087bc0b53
commit 39bf568539

View File

@ -181,16 +181,25 @@ namespace ConfectioneryBusinessLogic
public bool AddPastriesInShops(IPastryModel pastry, int count) public bool AddPastriesInShops(IPastryModel pastry, int count)
{ {
if (count <= 0)
{
_logger.LogWarning("AddPastriesInShops. Количество добавляемых изделий должно быть больше 0. Количество - {count}", count);
return false;
}
var freePlaces = GetFreePlacesWithPastriesInShops(count); var freePlaces = GetFreePlacesWithPastriesInShops(count);
if (freePlaces < 0) if (freePlaces < 0)
{ {
_logger.LogInformation("AddPastriesInShops. Не удалось добавить изделия в магазины, поскольку они переполнены." + _logger.LogInformation("AddPastriesInShops. Не удалось добавить изделия в магазины, поскольку они переполнены." +
$"Освободите магазины на {-freePlaces} изделий"); "Освободите магазины на {places} изделий", -freePlaces);
return false; return false;
} }
foreach (var shop in _shopStorage.GetFullList()) foreach (var shop in _shopStorage.GetFullList())
{ {
var cnt = Math.Min(count, shop.MaxCountPastries - shop.Pastries.Select(x => x.Value.Item2).Sum()); var cnt = Math.Min(count, shop.MaxCountPastries - shop.Pastries.Select(x => x.Value.Item2).Sum());
if (cnt <= 0)
{
continue;
}
if (!AddPastry(new() { Id = shop.Id }, pastry, cnt)) if (!AddPastry(new() { Id = shop.Id }, pastry, cnt))
{ {
_logger.LogWarning("При добавления изделий во все магазины произошла ошибка"); _logger.LogWarning("При добавления изделий во все магазины произошла ошибка");