2025-06-24 14:46:32 -04:00
|
|
|
|
using Microsoft.Extensions.Configuration;
|
|
|
|
|
using Shared.DTO;
|
|
|
|
|
using DAL;
|
2025-06-24 16:02:27 -04:00
|
|
|
|
using DAS;
|
2025-06-25 13:01:32 -04:00
|
|
|
|
using Shared.DTO.Envios_DGA;
|
2025-06-24 14:46:32 -04:00
|
|
|
|
|
2025-06-25 13:01:32 -04:00
|
|
|
|
namespace BLL.Recuperacion_DGA
|
2025-06-24 14:46:32 -04:00
|
|
|
|
{
|
|
|
|
|
public class EnvioDGA
|
|
|
|
|
{
|
|
|
|
|
private readonly MedicionScadaRepository _dGAMedicionScadaRepository;
|
2025-06-24 16:02:27 -04:00
|
|
|
|
private readonly RegistrarMedicion _registrarMedicion;
|
2025-06-24 14:46:32 -04:00
|
|
|
|
|
2025-06-25 08:39:23 -04:00
|
|
|
|
public EnvioDGA(MedicionScadaRepository dGAMedicionScadaRepository, RegistrarMedicion registrarMedicion)
|
2025-06-24 14:46:32 -04:00
|
|
|
|
{
|
|
|
|
|
_dGAMedicionScadaRepository = dGAMedicionScadaRepository;
|
2025-06-24 16:02:27 -04:00
|
|
|
|
_registrarMedicion = registrarMedicion;
|
2025-06-24 14:46:32 -04:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async Task<List<MedicionScada>> ObtenerMedicionesAsync()
|
|
|
|
|
{
|
2025-06-24 16:02:27 -04:00
|
|
|
|
var mediciones = await _dGAMedicionScadaRepository.ObtenerMedicionesAsync();
|
|
|
|
|
|
|
|
|
|
foreach (var medicion in mediciones)
|
|
|
|
|
{
|
|
|
|
|
if (!string.IsNullOrEmpty(medicion.Code))
|
|
|
|
|
{
|
|
|
|
|
var body = new MedicionSubterraneaRequest
|
|
|
|
|
{
|
|
|
|
|
Autenticacion = new Autenticacion
|
|
|
|
|
{
|
2025-06-25 08:39:23 -04:00
|
|
|
|
Password = string.Empty,
|
|
|
|
|
RutEmpresa = string.Empty,
|
|
|
|
|
RutUsuario = string.Empty
|
2025-06-24 16:02:27 -04:00
|
|
|
|
},
|
|
|
|
|
MedicionSubterranea = new Medicion
|
|
|
|
|
{
|
|
|
|
|
Caudal = medicion.Caudal.ToString() ?? "",
|
|
|
|
|
FechaMedicion = medicion.DateOrigen?.ToString("yyyy-MM-dd") ?? "",
|
|
|
|
|
HoraMedicion = medicion.DateOrigen?.ToString("HH:mm:ss") ?? "",
|
|
|
|
|
NivelFreaticoDelPozo = "",
|
|
|
|
|
Totalizador = medicion.Totalizador.ToString() ?? "",
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
await _registrarMedicion.EnviarMedicionAsync(medicion.Code, body);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return mediciones;
|
2025-06-24 14:46:32 -04:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|