This commit is contained in:
gg12 darfren 2024-05-14 13:06:51 +04:00
parent b53646627e
commit 7be7815a51
7 changed files with 182 additions and 168 deletions

View File

@ -144,7 +144,22 @@ namespace IceCreamShopBusinessLogic.BusinessLogic
_logger.LogWarning("Read operation failed"); _logger.LogWarning("Read operation failed");
return false; return false;
} }
if (element.Status != status - 1 && status != OrderStatus.Ожидается && element.Status != OrderStatus.Ожидается) if(element.Status == OrderStatus.Ожидается) {
if (status != OrderStatus.Готов)
{
_logger.LogWarning("Status change operation failed");
throw new InvalidOperationException("Текущий статус заказа не может быть переведен в выбранный");
}
}
else if(status == OrderStatus.Ожидается)
{
if (status != OrderStatus.Выполняется)
{
_logger.LogWarning("Status change operation failed");
throw new InvalidOperationException("Текущий статус заказа не может быть переведен в выбранный");
}
}
else if (element.Status != status - 1)
{ {
_logger.LogWarning("Status change operation failed"); _logger.LogWarning("Status change operation failed");
throw new InvalidOperationException("Текущий статус заказа не может быть переведен в выбранный"); throw new InvalidOperationException("Текущий статус заказа не может быть переведен в выбранный");
@ -164,7 +179,7 @@ namespace IceCreamShopBusinessLogic.BusinessLogic
_logger.LogWarning("Status update to " + status.ToString() + " operation failed. Document not found."); _logger.LogWarning("Status update to " + status.ToString() + " operation failed. Document not found.");
return false; return false;
} }
if (CheckSupply(icecream, model.Count) == false) if (!CheckSupply(icecream, model.Count))
{ {
model.Status = OrderStatus.Ожидается; model.Status = OrderStatus.Ожидается;
_orderStorage.Update(model); _orderStorage.Update(model);
@ -186,13 +201,10 @@ namespace IceCreamShopBusinessLogic.BusinessLogic
} }
public bool FinishOrder(OrderBindingModel model) public bool FinishOrder(OrderBindingModel model)
{
lock (locker)
{ {
return ChangeStatus(model, OrderStatus.Готов); return ChangeStatus(model, OrderStatus.Готов);
} }
}
public bool TakeOrderInWaiting(OrderBindingModel model) public bool TakeOrderInWaiting(OrderBindingModel model)
{ {
return ChangeStatus(model, OrderStatus.Ожидается); return ChangeStatus(model, OrderStatus.Ожидается);

View File

@ -35,6 +35,8 @@ namespace IceCreamShopDatabaseImplement.Implements
(!model.ClientId.HasValue || x.ClientId == model.ClientId) (!model.ClientId.HasValue || x.ClientId == model.ClientId)
&& &&
(!model.Status.HasValue || x.Status == model.Status) (!model.Status.HasValue || x.Status == model.Status)
&&
(!model.ImplementerId.HasValue || x.ImplementerId == model.ImplementerId)
) )
) )
.Select(x => x.GetViewModel) .Select(x => x.GetViewModel)