diff --git a/BlacksmithWorkshop/BlacksmithWorkshopBusinessLogic/BusinessLogic/ShopLogic.cs b/BlacksmithWorkshop/BlacksmithWorkshopBusinessLogic/BusinessLogic/ShopLogic.cs index acb9128..2985011 100644 --- a/BlacksmithWorkshop/BlacksmithWorkshopBusinessLogic/BusinessLogic/ShopLogic.cs +++ b/BlacksmithWorkshop/BlacksmithWorkshopBusinessLogic/BusinessLogic/ShopLogic.cs @@ -79,13 +79,18 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogic _logger.LogInformation("AddManufacture. ShopName:{ShopName}. Id: {Id}", model?.ShopName, model?.Id); var shop = _shopStorage.GetElement(model); - if (shop == null || !CheckShopCount(shop, count)) + if (shop == null) { _logger.LogWarning("Add Manufacture operation failed"); return false; } + if (shop.MaxCountManufactures - shop.Manufactures.Select(x => x.Value.Item2).Sum() < count) + { + throw new ArgumentNullException("Слишком много изделий для одного магазина", nameof(count)); + } + if (!shop.Manufactures.ContainsKey(manufacture.Id)) { shop.Manufactures[manufacture.Id] = (manufacture, count); @@ -107,24 +112,6 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogic return true; } - //проверка на переполнение магазина - private bool CheckShopCount(ShopViewModel model, int count) - { - int _countManufactures = 0; - - foreach (var manufacture in model.Manufactures) - { - _countManufactures += model.Manufactures[manufacture.Key].Item2; - } - - if(_countManufactures + count > model.MaxCountManufactures) - { - return false; - } - - return true; - } - public bool Create(ShopBindingModel model) { CheckModel(model);