using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Dapper; using Microsoft.Data.SqlClient; using Microsoft.Extensions.Configuration; using Shared.DTO.Envios_DGA; using Shared.Utils.Variables_Entorno; namespace DAL { public class LogMedicionScadaRepository { private IConfiguration _configuration; private readonly BD_Conexion _bdConexion; public LogMedicionScadaRepository(IConfiguration configuration,BD_Conexion bdConexion) { _configuration = configuration; _bdConexion = bdConexion; } public async Task InsertarLogMedicionScadaAsync(LogMedicionScada logMedicionScada) { try { using (var connection = new SqlConnection(_bdConexion.stringConnection)) { await connection.OpenAsync(); // Truncar la tabla antes de insertar await connection.ExecuteAsync("TRUNCATE TABLE DGA_LOGS_OPERACION"); // Insertar todos los datos de la lista usando Dapper var sql = @"INSERT INTO dbo.DGA_LOGS_OPERACION (estado_envio, json_enviado, json_recibido, comprobante, fecha_envio, id_medicion_smartscada_operacion) VALUES (@EstadoEnvio, @JsonEnviado, @JsonRecibido, @Comprobante, @FechaEnvio, @IdMedicionSmartscadaOperacion)"; await connection.ExecuteAsync(sql, logMedicionScada); return true; // Éxito } } catch (Exception ex) { throw new Exception($"Error: {ex.Message}"); } } } }