Добавлен новый статус Ожидается

This commit is contained in:
Данияр Аглиуллов 2023-03-06 19:11:10 +04:00
parent 614081152a
commit 09fabc904e
2 changed files with 10 additions and 4 deletions

View File

@ -92,20 +92,25 @@ namespace ConfectioneryBusinessLogic.BusinessLogics
{ {
throw new ArgumentNullException(nameof(model)); throw new ArgumentNullException(nameof(model));
} }
if ((int)vmodel.Status + 1 != (int)orderStatus) if ((int)vmodel.Status + 1 != (int)orderStatus || vmodel.Status == OrderStatus.Ожидается && orderStatus == OrderStatus.Готов)
{ {
throw new InvalidOperationException($"Попытка перевести заказ не в следующий статус: " + throw new InvalidOperationException($"Попытка перевести заказ не в следующий статус: " +
$"Текущий статус: {vmodel.Status} \n" + $"Текущий статус: {vmodel.Status} \n" +
$"Планируемый статус: {orderStatus} \n" + $"Планируемый статус: {orderStatus} \n" +
$"Доступный статус: {(OrderStatus)((int)vmodel.Status + 1)}"); $"Доступный статус: {(OrderStatus)((int)vmodel.Status + 1)}");
} }
if (orderStatus == OrderStatus.Готов) if (orderStatus == OrderStatus.Готов && orderStatus == OrderStatus.Ожидается)
{ {
var vpastry = _pastryStorage.GetElement(new() { Id = vmodel.PastryId }); var vpastry = _pastryStorage.GetElement(new() { Id = vmodel.PastryId });
if (vpastry == null || !_shopLogic.AddPastriesInShops(vpastry, vmodel.Count)) if (vpastry == null || !_shopLogic.AddPastriesInShops(vpastry, vmodel.Count))
{ {
throw new Exception($"Не удалось заполнить магазины изделием '{vpastry?.PastryName ?? string.Empty}' из заказа {vmodel.Id}"); _logger.LogWarning($"Не удалось заполнить магазины изделием '{vpastry?.PastryName ?? string.Empty}' из заказа {vmodel.Id}");
orderStatus = OrderStatus.Ожидается;
}
else
{
orderStatus = OrderStatus.Готов;
} }
} }
model.Status = orderStatus; model.Status = orderStatus;

View File

@ -6,6 +6,7 @@
Принят = 0, Принят = 0,
Выполняется = 1, Выполняется = 1,
Готов = 2, Готов = 2,
Выдан = 3 Выдан = 3,
Ожидается = 4,
} }
} }