остановка 19 стр; разобраться с withParams + повторения кода(?) x2

This commit is contained in:
frog24 2024-02-10 02:14:22 +04:00
parent 89ed721d72
commit ea40eb060e

View File

@ -99,6 +99,7 @@ namespace ComputersShopBusinessLogic.BusinessLogics
}
return true;
}
// нужен ли в данном случае withParams??
private void CheckModel(OrderBindingModel model, bool withParams = true)
{
if (model == null)
@ -109,7 +110,27 @@ namespace ComputersShopBusinessLogic.BusinessLogics
{
return;
}
if (model.Sum)
if (model.Sum <= 0)
{
throw new ArgumentNullException("Цена должна быть больше 0", nameof(model.Sum));
}
if (model.Count <= 0)
{
throw new ArgumentNullException("Количество изделий должно быть больше 0", nameof(model.Count));
}
if (model.DateImplement.HasValue && model.DateImplement < model.DateCreate)
{
throw new ArithmeticException($"Дата выдачи заказа {model.DateImplement} должна быть позже даты его создания {model.DateCreate}");
}
_logger.LogInformation("Order. Id:{Id}. Sum:{Sum}. ComputerId:{ComputerId}", model.Id, model.Sum, model.ComputerId);
var element = _orderStorage.GetElement(new OrderSearchModel
{
Id = model.Id
});
if (element != null && element.Id != model.Id)
{
throw new InvalidOperationException("Заказ с таким номером уже есть");
}
}
}
}