Integracion_DGA/BLL/Recuperacion_DGA/EnvioDGA.cs

55 lines
1.9 KiB
C#

using Microsoft.Extensions.Configuration;
using Shared.DTO;
using DAL;
using DAS;
using Shared.DTO.Envios_DGA;
namespace BLL.Recuperacion_DGA
{
public class EnvioDGA
{
private readonly MedicionScadaRepository _dGAMedicionScadaRepository;
private readonly RegistrarMedicion _registrarMedicion;
public EnvioDGA(MedicionScadaRepository dGAMedicionScadaRepository, RegistrarMedicion registrarMedicion)
{
_dGAMedicionScadaRepository = dGAMedicionScadaRepository;
_registrarMedicion = registrarMedicion;
}
public async Task<List<MedicionScada>> ObtenerMedicionesAsync()
{
var mediciones = await _dGAMedicionScadaRepository.ObtenerMedicionesAsync();
foreach (var medicion in mediciones)
{
if (!string.IsNullOrEmpty(medicion.Code))
{
var body = new MedicionSubterraneaRequest
{
Autenticacion = new Autenticacion
{
Password = string.Empty,
RutEmpresa = string.Empty,
RutUsuario = string.Empty
},
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,medicion.Id);
}
}
return mediciones;
}
}
}