diff --git a/FoodOrders/FoodOrdersDatabaseImplement/Implements/ShopStorage.cs b/FoodOrders/FoodOrdersDatabaseImplement/Implements/ShopStorage.cs index f9352d5..2524f2e 100644 --- a/FoodOrders/FoodOrdersDatabaseImplement/Implements/ShopStorage.cs +++ b/FoodOrders/FoodOrdersDatabaseImplement/Implements/ShopStorage.cs @@ -85,7 +85,13 @@ namespace FoodOrdersDatabaseImplement.Implements } updateShop.Update(model); context.SaveChanges(); - updateShop.UpdateDish(context, model); + // Добавленна проверка, так как без неё при обновлении на форме удаляет содержимое магазина, + // а на форме всё хорошо работает так как из формы у нас поступает или пустой или заполненный словарь + // но он точно не null + if (model.ShopDishes != null) + { + updateShop.UpdateDish(context, model); + } transaction.Commit(); return updateShop.GetViewModel; } diff --git a/FoodOrders/FoodOrdersRestApi/Controllers/ShopController.cs b/FoodOrders/FoodOrdersRestApi/Controllers/ShopController.cs index fb67449..eeed59f 100644 --- a/FoodOrders/FoodOrdersRestApi/Controllers/ShopController.cs +++ b/FoodOrders/FoodOrdersRestApi/Controllers/ShopController.cs @@ -62,25 +62,26 @@ namespace FoodOrdersRestApi.Controllers } } - [HttpPost] - public void CRUDShop(Action action) - { - try - { - action.Invoke(); - } - catch (Exception ex) - { - _logger.LogError(ex, "Ошибка операции CRUD - {operation} с магазином", action.Method.Name); - throw; - } - } - [HttpPost] public void CreateShop(ShopBindingModel model) { try { + _logic.Create(model); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка обновления данных"); + throw; + } + } + + [HttpPost] + public void UpdateShop(ShopBindingModel model) + { + try + { + model.ShopDishes = null!; _logic.Update(model); } catch (Exception ex) @@ -95,7 +96,7 @@ namespace FoodOrdersRestApi.Controllers { try { - _logic.Create(model); + _logic.Delete(model); } catch (Exception ex) { @@ -118,5 +119,4 @@ namespace FoodOrdersRestApi.Controllers } } } -} -fdawdadsawdawdawd \ No newline at end of file +} \ No newline at end of file