Integracion_DGA/DAL/MedicionDGARepository.cs

55 lines
1.7 KiB
C#
Raw Normal View History

using System.Data;
using Dapper;
2025-06-24 14:46:32 -04:00
using Microsoft.Data.SqlClient;
using Shared.DTO.Envios_DGA;
2025-07-01 09:59:59 -04:00
using Shared.DTO.VariablesEntorno;
2025-06-24 14:46:32 -04:00
namespace DAL
{
2025-07-16 20:39:24 -04:00
public class MedicionDGARepository
2025-06-24 14:46:32 -04:00
{
2025-07-16 20:39:24 -04:00
public async Task<List<DatoDGA>> ObtenerMedicionesAsync()
2025-06-24 14:46:32 -04:00
{
2025-07-01 09:59:59 -04:00
await using var connection = new SqlConnection(BdConexion.StringConnection);
2025-06-24 14:46:32 -04:00
2025-07-16 20:39:24 -04:00
var result = await connection.QueryAsync<DatoDGA>(
"SP_OBTENER_DGA_DATOS",
2025-06-24 14:46:32 -04:00
commandType: CommandType.StoredProcedure);
return result.ToList();
}
2025-07-17 12:40:59 -04:00
public async Task<List<DatoDGATemporal>> ObtenerMedicionesPorLoteAsync(int pageNumber)
{
var nroPagina = new DynamicParameters();
nroPagina.Add("@PageNumber", pageNumber);
await using var connection = new SqlConnection(BdConexion.StringConnection);
var resultado = await connection.QueryAsync<DatoDGATemporal>(
"SP_OBTENER_LOTE_DGA_DATOS",
nroPagina,
commandType: CommandType.StoredProcedure);
return resultado.ToList();
}
public async Task<bool> GuardarMedicionesEnviadasAsync(List<int> medicionesGuardadas)
{
await using var connection = new SqlConnection(BdConexion.StringConnection);
try
{
var query = @"UPDATE DGA_DATOS SET ENVIADO = 1 WHERE ID IN @Ids";
await connection.ExecuteAsync(query, new { Ids = medicionesGuardadas });
return true;
}
catch(Exception ex) {
throw new Exception($"Error {ex.Message}");
}
}
2025-06-24 14:46:32 -04:00
}
}