исправление ошибок

This commit is contained in:
vettaql 2025-01-28 01:44:48 +04:00
parent 7b7a95beb2
commit 1b125123e4

View File

@ -36,12 +36,12 @@ SELECT MAX(Id) FROM Orders";
connection.QueryFirst<int>(queryInsert, order, transaction); connection.QueryFirst<int>(queryInsert, order, transaction);
var querySubInsert = @" var querySubInsert = @"
INSERT INTO ModelOrder (OrderId, ModelId, Count) INSERT INTO ModelOrder (OrderId, ModelId, Count)
VALUES (@OrderId,@ModelId, @Count)"; VALUES (@OrderId, @ModelId, @Count)";
foreach (var elem in order.ModelOrder) foreach (var elem in order.ModelOrder)
{ {
connection.Execute(querySubInsert, new connection.Execute(querySubInsert, new
{ {
orderId, OrderId = orderId,
elem.ModelId, elem.ModelId,
elem.Count elem.Count
}, transaction); }, transaction);
@ -61,20 +61,31 @@ VALUES (@OrderId,@ModelId, @Count)";
_logger.LogDebug("Объект: {id}", id); _logger.LogDebug("Объект: {id}", id);
try try
{ {
using var connection = new using var connection = new NpgsqlConnection(_connectionString.ConnectionString);
NpgsqlConnection(_connectionString.ConnectionString); connection.Open();
var queryDelete = @" using var transaction = connection.BeginTransaction();
// Сначала удаляем связанные записи в таблице ModelOrder
var queryDeleteModelOrder = @"
DELETE FROM ModelOrder
WHERE OrderId=@id";
connection.Execute(queryDeleteModelOrder, new { id }, transaction);
// Затем удаляем запись в таблице Orders
var queryDeleteOrder = @"
DELETE FROM Orders DELETE FROM Orders
WHERE Id=@id"; WHERE Id=@id";
connection.Execute(queryDelete, new { id }); connection.Execute(queryDeleteOrder, new { id }, transaction);
transaction.Commit();
} }
catch (Exception ex) catch (Exception ex)
{ {
_logger.LogError(ex, "Ошибка при удалении объекта"); _logger.LogError(ex, "Ошибка при удалении объекта");
throw; throw;
} }
} }
public IEnumerable<Order> ReadOrders(int? id = null, DateTime?dateForm = null, DateTime? dateTo = null, public IEnumerable<Order> ReadOrders(int? id = null, DateTime?dateForm = null, DateTime? dateTo = null,
Status? status = null, int? clientId = null) Status? status = null, int? clientId = null)
{ {