Fix: TimeZone Fetcher.

This commit is contained in:
2025-07-21 10:20:27 -03:00
parent 24a6fc3849
commit c10924bc35

View File

@@ -14,6 +14,7 @@ namespace Mercados.Infrastructure.DataFetchers
private readonly ICotizacionGanadoRepository _cotizacionRepository; private readonly ICotizacionGanadoRepository _cotizacionRepository;
private readonly IFuenteDatoRepository _fuenteDatoRepository; private readonly IFuenteDatoRepository _fuenteDatoRepository;
private readonly ILogger<MercadoAgroFetcher> _logger; private readonly ILogger<MercadoAgroFetcher> _logger;
private readonly TimeZoneInfo _argentinaTimeZone;
public MercadoAgroFetcher( public MercadoAgroFetcher(
IHttpClientFactory httpClientFactory, IHttpClientFactory httpClientFactory,
@@ -25,6 +26,14 @@ namespace Mercados.Infrastructure.DataFetchers
_cotizacionRepository = cotizacionRepository; _cotizacionRepository = cotizacionRepository;
_fuenteDatoRepository = fuenteDatoRepository; _fuenteDatoRepository = fuenteDatoRepository;
_logger = logger; _logger = logger;
try
{
_argentinaTimeZone = TimeZoneInfo.FindSystemTimeZoneById("America/Argentina/Buenos_Aires");
}
catch (TimeZoneNotFoundException)
{
_argentinaTimeZone = TimeZoneInfo.FindSystemTimeZoneById("Argentina Standard Time");
}
} }
public async Task<(bool Success, string Message)> FetchDataAsync() public async Task<(bool Success, string Message)> FetchDataAsync()
@@ -41,7 +50,8 @@ namespace Mercados.Infrastructure.DataFetchers
return (true, "Conexión exitosa, pero no se encontraron nuevos datos de ganado."); return (true, "Conexión exitosa, pero no se encontraron nuevos datos de ganado.");
} }
var hoy = DateOnly.FromDateTime(DateTime.UtcNow); var ahoraEnArgentina = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, _argentinaTimeZone);
var hoy = DateOnly.FromDateTime(ahoraEnArgentina);
var cotizacionesViejas = await _cotizacionRepository.ObtenerTandaPorFechaAsync(hoy); var cotizacionesViejas = await _cotizacionRepository.ObtenerTandaPorFechaAsync(hoy);
// Si el número de registros es diferente, sabemos que hay cambios. // Si el número de registros es diferente, sabemos que hay cambios.