// See https://aka.ms/new-console-template for more information // using LoadStockDbFromTrans.DbConnections; using LoadStockDbFromTrans.DbInitializers; using LoadStockDbFromTrans.models; using LoadStockDbFromTrans.Runners; using LoadStockDbFromTrans.StocksProviders; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Newtonsoft.Json; using Serilog; var builder = new ConfigurationBuilder(); BuildConfig(builder); Log.Logger = new LoggerConfiguration() .ReadFrom.Configuration(builder.Build()) .Enrich.FromLogContext() .WriteTo.Console() .CreateLogger(); var host = Host.CreateDefaultBuilder() .ConfigureServices((hostContext, services) => { services.AddSingleton(); string connectionString = hostContext.Configuration.GetConnectionString("Default"); services.AddSingleton(new SqliteDbConnectionFactory(connectionString)); services.AddSingleton(); services.AddSingleton(); }) .UseSerilog() .Build(); var svc = ActivatorUtilities.CreateInstance(host.Services); svc.FetchJsonData(); //await svc.StockNameTable(); //foreach (var x in svc.NameConverter) //{ // Console.WriteLine(x.ToString()); //} //var sdi = host.Services.GetRequiredService(); //sdi.Initialize(); //var dsp = host.Services.GetRequiredService(); //var recs = await dsp.GetAllStocks(); //foreach (var stock in recs) //{ // Log.Logger.Information($"{stock.Id} " + // $"{stock.StockId} " + // $"{stock.StockExtId} " + // $"{stock.ActValue} " + // $"{stock.BuyValue} " + // $"{stock.BuyDate} " + // $"{stock.SoldDate} " + // $"{stock.SoldValue} " + // $"{stock.ActAmount} " + // $"{stock.Comment} "); //} static void BuildConfig(IConfigurationBuilder builder) { builder.SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) .AddJsonFile($"appsettings{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "Production"}.json", optional: true) .AddEnvironmentVariables(); }