From 6d2c12b4194816c7430ea74c87ba7cff072c7f83 Mon Sep 17 00:00:00 2001 From: grishazagidulin Date: Sun, 1 Dec 2024 02:35:18 +0400 Subject: [PATCH] =?UTF-8?q?=D0=A7=D0=B8=D0=BD=D0=B8=D1=82=20=D1=81=D1=82?= =?UTF-8?q?=D1=80=D0=BE=D0=BA=D1=83=20=D0=BF=D0=BE=D0=B4=D0=BA=D0=BB=D1=8E?= =?UTF-8?q?=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B8=20=D0=B4=D0=BE=D0=B1?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D1=8F=D0=B5=D1=82=20sql=20=D0=B7=D0=B0=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=D1=81=D1=8B=20=D0=BA=20=D1=81=D1=83=D1=89=D0=BD?= =?UTF-8?q?=D0=BE=D1=81=D1=82=D1=8F=D0=BC-=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BE=D1=87=D0=BD=D0=B8=D0=BA=D0=B0=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Implementations/ConnectionString.cs | 2 +- .../Implementations/MasterRepository.cs | 23 +++++++++++---- .../Implementations/MaterialRepository.cs | 22 +++++++++++---- .../Implementations/ProductRepository.cs | 28 +++++++++++++++---- 4 files changed, 58 insertions(+), 17 deletions(-) diff --git a/Workshop/Repositories/Implementations/ConnectionString.cs b/Workshop/Repositories/Implementations/ConnectionString.cs index 5ebf385..6b21474 100644 --- a/Workshop/Repositories/Implementations/ConnectionString.cs +++ b/Workshop/Repositories/Implementations/ConnectionString.cs @@ -9,5 +9,5 @@ namespace Workshop.Repositories.Implementations; public class ConnectionString : IConnectionString { - string IConnectionString.ConnectionString => "Server=localhost;Port=5432;Database=grishazagidulin;User Id=grishazagidulin;Password=;"; + string IConnectionString.ConnectionString => "Server=10.211.55.2;Port=5432;Database=grishazagidulin;Username=grishazagidulin;Password=;"; } diff --git a/Workshop/Repositories/Implementations/MasterRepository.cs b/Workshop/Repositories/Implementations/MasterRepository.cs index a7cf357..791c054 100644 --- a/Workshop/Repositories/Implementations/MasterRepository.cs +++ b/Workshop/Repositories/Implementations/MasterRepository.cs @@ -31,7 +31,9 @@ internal class MasterRepository : IMasterRepository try { using var connection = new NpgsqlConnection(_connectionString.ConnectionString); - var queryInsert = @""; + var queryInsert = @" +INSERT INTO MASTER (Name, LastName, Age, Position) +VALUES (@Name, @LastName, @Age, @Position)"; connection.Execute(queryInsert, master); } catch (Exception ex) @@ -48,7 +50,9 @@ internal class MasterRepository : IMasterRepository try { using var connection = new NpgsqlConnection(_connectionString.ConnectionString); - var queryDelete = @""; + var queryDelete = @" +DELETE FROM MASTER +WHERE Id=@id"; connection.Execute(queryDelete, new { id }); } catch (Exception ex) @@ -65,7 +69,9 @@ internal class MasterRepository : IMasterRepository try { using var connection = new NpgsqlConnection(_connectionString.ConnectionString); - var querySelect = @""; + var querySelect = @" +SELECT * FROM MASTER +WHERE Id=@id"; var master = connection.QueryFirst(querySelect, new { id }); _logger.LogDebug("Найденный объект: {json}", JsonConvert.SerializeObject(master)); return master; @@ -83,7 +89,7 @@ internal class MasterRepository : IMasterRepository try { using var connection = new NpgsqlConnection(_connectionString.ConnectionString); - var querySelect = ""; + var querySelect = "SELECT * FROM MASTER"; var masters = connection.Query(querySelect); _logger.LogDebug("Полученные объекты: {json}", JsonConvert.SerializeObject(masters)); return masters; @@ -105,7 +111,14 @@ internal class MasterRepository : IMasterRepository { using var connection = new NpgsqlConnection(_connectionString.ConnectionString); - var queryUpdate = @""; + var queryUpdate = @" +UPDATE MASTER +SET + Name=@Name, + LastName=@LastName, + Age=@Age, + Position=@Position +WHERE [Id]=@Id"; connection.Execute(queryUpdate, master); } catch (Exception ex) diff --git a/Workshop/Repositories/Implementations/MaterialRepository.cs b/Workshop/Repositories/Implementations/MaterialRepository.cs index 7e3d4a5..ce77517 100644 --- a/Workshop/Repositories/Implementations/MaterialRepository.cs +++ b/Workshop/Repositories/Implementations/MaterialRepository.cs @@ -31,7 +31,9 @@ internal class MaterialRepository : IMaterialRepository try { using var connection = new NpgsqlConnection(_connectionString.ConnectionString); - var queryInsert = @""; + var queryInsert = @" +INSERT INTO MATERIAL (Name, WarehouseAmount, Price) +VALUES (@Name, @WarehouseAmount, @Price)"; connection.Execute(queryInsert, material); } catch (Exception ex) @@ -48,7 +50,9 @@ internal class MaterialRepository : IMaterialRepository try { using var connection = new NpgsqlConnection(_connectionString.ConnectionString); - var queryDelete = @""; + var queryDelete = @" +DELETE FROM MATERIAL +WHERE Id=@id"; connection.Execute(queryDelete, new { id }); } catch (Exception ex) @@ -65,7 +69,9 @@ internal class MaterialRepository : IMaterialRepository try { using var connection = new NpgsqlConnection(_connectionString.ConnectionString); - var querySelect = @""; + var querySelect = @" +SELECT * FROM MATERIAL +WHERE Id=@id"; var material = connection.QueryFirst(querySelect, new { id }); _logger.LogDebug("Найденный объект: {json}", JsonConvert.SerializeObject(material)); return material; @@ -83,7 +89,7 @@ internal class MaterialRepository : IMaterialRepository try { using var connection = new NpgsqlConnection(_connectionString.ConnectionString); - var querySelect = ""; + var querySelect = "SELECT * FROM MATERIAL"; var materials = connection.Query (querySelect); _logger.LogDebug("Полученные объекты: {json}", JsonConvert.SerializeObject(materials)); return materials; @@ -105,7 +111,13 @@ internal class MaterialRepository : IMaterialRepository { using var connection = new NpgsqlConnection(_connectionString.ConnectionString); - var queryUpdate = @""; + var queryUpdate = @" +UPDATE MATERIAL +SET + Name=@Name, + WarehouseAmount=@WarehouseAmount, + Price=@Price +WHERE [Id]=@Id"; connection.Execute(queryUpdate, material); } catch (Exception ex) diff --git a/Workshop/Repositories/Implementations/ProductRepository.cs b/Workshop/Repositories/Implementations/ProductRepository.cs index b44feab..5817790 100644 --- a/Workshop/Repositories/Implementations/ProductRepository.cs +++ b/Workshop/Repositories/Implementations/ProductRepository.cs @@ -33,9 +33,14 @@ JsonConvert.SerializeObject(product)); using var connection = new NpgsqlConnection(_connectionString.ConnectionString); connection.Open(); using var transaction = connection.BeginTransaction(); - var queryInsert = @""; + var queryInsert = @" +INSERT INTO PRODUCT (Name, Price, WarehouseAmount, Type) +VALUES (@Name, @Price, @WarehouseAmount, @Category); +SELECT MAX(Id) FROM PRODUCT"; var productId = connection.QueryFirst(queryInsert, product, transaction); - var querySubInsert = @""; + var querySubInsert = @" +INSERT INTO PRODUCT_MATERIAL (ProductID, MaterialID, Count) +VALUES (@ProductId, @MaterialId, @Count)"; foreach (var elem in product.Materials) { connection.Execute(querySubInsert, new { productId, elem.ProductId, elem.Count }); @@ -55,7 +60,9 @@ JsonConvert.SerializeObject(product)); try { using var connection = new NpgsqlConnection(_connectionString.ConnectionString); - var queryDelete = @""; + var queryDelete = @" +DELETE FROM PRODUCT +WHERE Id=@id"; connection.Execute(queryDelete, new { id }); } catch (Exception ex) @@ -73,7 +80,9 @@ JsonConvert.SerializeObject(product)); try { using var connection = new NpgsqlConnection(_connectionString.ConnectionString); - var querySelect = @""; + var querySelect = @" +SELECT * FROM PRODUCT +WHERE Id=@id"; var product = connection.QueryFirst(querySelect, new { id }); _logger.LogDebug("Найденный объект: {json}", JsonConvert.SerializeObject(product)); return product; @@ -91,7 +100,7 @@ JsonConvert.SerializeObject(product)); try { using var connection = new NpgsqlConnection(_connectionString.ConnectionString); - var querySelect = ""; + var querySelect = "SELECT * FROM PRODUCT"; var products = connection.Query(querySelect); _logger.LogDebug("Полученные объекты: {json}", JsonConvert.SerializeObject(products)); return products; @@ -112,7 +121,14 @@ JsonConvert.SerializeObject(product)); try { using var connection = new NpgsqlConnection(_connectionString.ConnectionString); - var queryUpdate = @""; + var queryUpdate = @" +UPDATE PRODUCT +SET + Name=@Name, + Price=@Price, + WarehouseAmount=@WarehouseAmount, + Category=@Category +WHERE [Id]=@Id"; connection.Execute(queryUpdate, product); } catch (Exception ex)