diff --git a/SewingDresses/SewingDressesBusinessLogic/BusinessLogic/ShopLogic.cs b/SewingDresses/SewingDressesBusinessLogic/BusinessLogic/ShopLogic.cs index e52b504..fb1a8c0 100644 --- a/SewingDresses/SewingDressesBusinessLogic/BusinessLogic/ShopLogic.cs +++ b/SewingDresses/SewingDressesBusinessLogic/BusinessLogic/ShopLogic.cs @@ -122,8 +122,32 @@ namespace SewingDressesBusinessLogic.BusinessLogic public bool MakeSupply(ShopSearchModel model, IDressModel dress, int count) { if (model == null) - return false; - return _shopStorage.SupplyDress(model, dress, count); + throw new ArgumentNullException(nameof(model)); + if (dress == null) + throw new ArgumentNullException(nameof(dress)); + if (count <= 0) + throw new ArgumentNullException("Количество должно быть положительным числом"); + + ShopViewModel? curModel = _shopStorage.GetElement(model); + _logger.LogInformation("Make Supply"); + if (curModel == null) + throw new ArgumentNullException(nameof(curModel)); + if (curModel.ShopDresses.TryGetValue(dress.Id, out var pair)) + { + curModel.ShopDresses[dress.Id] = (pair.Item1, pair.Item2 + count); + } + else + { + curModel.ShopDresses.Add(dress.Id, (dress, count)); + } + return Update(new() + { + Id = curModel.Id, + ShopName = curModel.ShopName, + DateOpen = curModel.DateOpen, + Adress = curModel.Adress, + ShopDresses = curModel.ShopDresses, + }); } } } diff --git a/SewingDresses/SewingDressesContracts/StoragesContracts/IShopStorage.cs b/SewingDresses/SewingDressesContracts/StoragesContracts/IShopStorage.cs index 5758bce..b47e78c 100644 --- a/SewingDresses/SewingDressesContracts/StoragesContracts/IShopStorage.cs +++ b/SewingDresses/SewingDressesContracts/StoragesContracts/IShopStorage.cs @@ -18,6 +18,5 @@ namespace SewingDressesContracts.StoragesContracts ShopViewModel? Insert(ShopBindingModel model); ShopViewModel? Update(ShopBindingModel model); ShopViewModel? Delete(ShopBindingModel model); - bool SupplyDress(ShopSearchModel model, IDressModel dress, int count); } } diff --git a/SewingDresses/SewingDressesListImplement/Implements/ShopStorage.cs b/SewingDresses/SewingDressesListImplement/Implements/ShopStorage.cs index 9b58370..8ad8513 100644 --- a/SewingDresses/SewingDressesListImplement/Implements/ShopStorage.cs +++ b/SewingDresses/SewingDressesListImplement/Implements/ShopStorage.cs @@ -104,37 +104,5 @@ namespace SewingDressesListImplement.Implements } return null; } - - public bool SupplyDress(ShopSearchModel model, IDressModel dress, int count) - { - if (model == null) - throw new ArgumentNullException(nameof(model)); - if (dress == null) - throw new ArgumentNullException(nameof(dress)); - if (count <= 0) - throw new ArgumentNullException("Количество должно быть положительным числом"); - - ShopViewModel curModel = GetElement(model); - if (curModel == null) - throw new ArgumentNullException(nameof(curModel)); - if (curModel.ShopDresses.TryGetValue(dress.Id, out var pair)) - { - curModel.ShopDresses[dress.Id] = (pair.Item1, pair.Item2 + count); - } - else - { - curModel.ShopDresses.Add(dress.Id, (dress, count)); - } - Update(new() - { - Id = curModel.Id, - ShopName = curModel.ShopName, - DateOpen = curModel.DateOpen, - Adress = curModel.Adress, - ShopDresses = curModel.ShopDresses, - }); - return true; - - } } }