PIbd-21 Potapov N.S. LabWork02 Hard #9

Closed
ns.potapov wants to merge 34 commits from LabWorkHard02 into LabWork02
2 changed files with 9 additions and 2 deletions
Showing only changes of commit d19523fddb - Show all commits

1
.gitignore vendored
View File

@ -398,3 +398,4 @@ FodyWeavers.xsd
# JetBrains Rider
*.sln.iml
ImplementationExtensions/

View File

@ -13,12 +13,14 @@ namespace SecuritySystemBusinessLogic.BusinessLogics
private readonly ILogger _logger;
private readonly IOrderStorage _orderStorage;
private readonly IShopLogic _shopLogic;
private readonly ISecureStorage _secureStorage;
public OrderLogic(ILogger<OrderLogic> logger, IOrderStorage orderStorage, IShopLogic shopLogic)
public OrderLogic(ILogger<OrderLogic> logger, IOrderStorage orderStorage, IShopLogic shopLogic, ISecureStorage secureStorage)
{
_logger = logger;
_orderStorage = orderStorage;
_shopLogic = shopLogic;
_secureStorage = secureStorage;
}
public List<OrderViewModel>? ReadList(OrderSearchModel? model)
@ -56,14 +58,18 @@ namespace SecuritySystemBusinessLogic.BusinessLogics
_logger.LogWarning("Read operation failed");
return false;
}
model.SecureId = element.SecureId;
model.Count = element.Count;
model.Sum = element.Sum;
if (element.Status != targetStatus - 1)
{
_logger.LogWarning("Status change operation failed");
throw new InvalidOperationException("Текущий статус заказа не может быть переведен в выбранный");
}
var secure = _secureStorage.GetElement(new SecureSearchModel { Id = model.SecureId });
if (targetStatus == OrderStatus.Выдан)
{
_shopLogic.SupplySecures();
_shopLogic.SupplySecures(secure, model.Count);
}
model.Status = targetStatus;
if (model.Status == OrderStatus.Выдан)