using Avalonia; using Avalonia.Controls.ApplicationLifetimes; using Avalonia.Markup.Xaml; using Avalonia.Styling; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using NLog.Extensions.Logging; using Seyounth.Hyosung.Ava.ViewModels; using Seyounth.Hyosung.Ava.Views; using Seyounth.Hyosung.Core; using Seyounth.Hyosung.Core.Printer; using Seyounth.Hyosung.Data; using Seyounth.Hyosung.Runtime; using SukiUI; using SukiUI.Toasts; namespace Seyounth.Hyosung.Ava; public partial class App : Application { public static IHost _Host { get; private set; } public override void Initialize() { var builder = Host .CreateApplicationBuilder(); builder.Logging.ClearProviders(); builder.Logging.SetMinimumLevel(LogLevel.Trace); builder.Logging.AddNLog("nlog.config"); builder.Configuration.AddJsonFile("PrintTemp.json", true, true); builder.Configuration.AddJsonFile("appsettings.json", true, true); builder.Services.Configure(builder.Configuration.GetSection("Print")); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddHyosung(builder.Configuration); _Host = builder.Build(); //_Host.Services.UseHyosung(); _Host.RunAsync(); AvaloniaXamlLoader.Load(this); SukiTheme.GetInstance().ChangeBaseTheme(ThemeVariant.Dark); } public override void OnFrameworkInitializationCompleted() { if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) { desktop.MainWindow = _Host.Services.GetRequiredService(); } base.OnFrameworkInitializationCompleted(); } }