using BLL.Integracion_DGA; using BLL.Recuperacion_DGA; using DAL; using DAS; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Shared.Helper; using Shared.Utils; namespace Recuperacion_DGA { class Program { static async Task Main(string[] args) { IConfiguration configuration; configuration = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) .AddEnvironmentVariables() .Build(); FileLoggerHelper.ConfigureLogger(configuration); try { Console.WriteLine("Obteniendo variables de entorno..."); ObtenerVariablesEntorno.AmbientarApiUrlNexus("NEXUS_API_URL"); ObtenerVariablesEntorno.AmbientarUrlApiSubterranea("SUBTERRANEAS_API_URL"); ObtenerVariablesEntorno.AmbientarConexionBd("CONEXION_BD_ENVIO_DGA"); ObtenerVariablesEntorno.AmbientarCredencialesDGA("DGA_CREDENCIALES"); ObtenerVariablesEntorno.ValidarVariablesEntorno(); } catch (Exception ex) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine($"[Error] {ex.Message}"); Console.ResetColor(); FileLoggerHelper.LogInformation($"{ex.Message}"); return; } using IHost host = Host.CreateDefaultBuilder(args) .ConfigureServices((context, services) => { services.AddSingleton(configuration); services.AddScoped(); services.AddScoped(); services.AddHttpClient(); services.AddScoped(); }) .Build(); var envioDGA = host.Services.GetRequiredService(); await envioDGA.RegistrarMedicionesAsync(); } } }