AacpsBusAlert/BinaryDad.AacpsBusAlert.Worker/Program.cs

42 lines
1.4 KiB
C#

using BinaryDad.AacpsBusAlert;
using BinaryDad.AacpsBusAlert.Services;
using BinaryDad.Extensions;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Newtonsoft.Json;
var host = Host.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((context, builder) =>
{
builder.AddEnvironmentVariables();
var env = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");// context.HostingEnvironment.EnvironmentName;
builder.AddJsonFile("appsettings.json");
builder.AddJsonFile($"appsettings.{env}.json", true);
})
.ConfigureServices(services =>
{
services.AddTransient<BusRouteService>();
services.AddHttpClient();
})
.Build();
var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
var configuration = host.Services.GetService<IConfiguration>();
var httpClientFactory = host.Services.GetService<IHttpClientFactory>();
var httpClient = httpClientFactory.CreateClient();
var apiBaseUrl = configuration["Urls:Api"];
var apiBusRouteUrl = UrlUtility.Combine(apiBaseUrl, "api/routes");
var busRoutesRaw = await httpClient.GetStringAsync(apiBusRouteUrl);
var busRoutes = JsonConvert.DeserializeObject<ICollection<BusRoute>>(busRoutesRaw);
var busRouteService = host.Services.GetService<BusRouteService>();
var routes = await busRouteService.GetBusRoutesAsync();
Console.ReadLine();