From f1094a01647818fd3bdc25bc94df43a5d273f0fb Mon Sep 17 00:00:00 2001 From: vettaql Date: Thu, 30 Jan 2025 18:46:46 +0400 Subject: [PATCH] =?UTF-8?q?=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=203?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Implementations/ModelRepository.cs | 28 ++++++++++++------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/Atelier/Atelier/Repositories/Implementations/ModelRepository.cs b/Atelier/Atelier/Repositories/Implementations/ModelRepository.cs index bd0914f..18ddd67 100644 --- a/Atelier/Atelier/Repositories/Implementations/ModelRepository.cs +++ b/Atelier/Atelier/Repositories/Implementations/ModelRepository.cs @@ -15,6 +15,7 @@ internal class ModelRepository : IModelRepository _connectionString = connectionString; _logger = logger; } + public void CreateModel(Model model) { _logger.LogInformation("Добавление объекта"); @@ -108,10 +109,22 @@ internal class ModelRepository : IModelRepository try { using var connection = new NpgsqlConnection(_connectionString.ConnectionString); - var queryDelete = @" + connection.Open(); + using var transaction = connection.BeginTransaction(); + + var queryDeleteFabricModel = @" + DELETE FROM FabricModel + WHERE ModelId = @Id"; + + connection.Execute(queryDeleteFabricModel, new { Id = id }, transaction); + + var queryDeleteModel = @" DELETE FROM Models - WHERE Id = @id"; - connection.Execute(queryDelete, new { id }); + WHERE Id = @Id"; + + connection.Execute(queryDeleteModel, new { Id = id }, transaction); + + transaction.Commit(); } catch (Exception ex) { @@ -141,7 +154,6 @@ internal class ModelRepository : IModelRepository throw new KeyNotFoundException($"Модель с идентификатором {id} не найдена"); } _logger.LogDebug("Найденный объект: {json}", JsonConvert.SerializeObject(model)); - return model; } @@ -152,19 +164,15 @@ internal class ModelRepository : IModelRepository } } - - public IEnumerable ReadModels() { _logger.LogInformation("Получение всех объектов"); try { - using var connection = new - NpgsqlConnection(_connectionString.ConnectionString); + using var connection = new NpgsqlConnection(_connectionString.ConnectionString); var querySelect = "SELECT * FROM Models"; var models = connection.Query(querySelect); - _logger.LogDebug("Полученные объекты: {json}", - JsonConvert.SerializeObject(models)); + _logger.LogDebug("Полученные объекты: {json}", JsonConvert.SerializeObject(models)); return models; } catch (Exception ex)