using Avalonia; using Avalonia.Controls.ApplicationLifetimes; using Avalonia.Markup.Xaml; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Toolkit.Avalonia; using Toolkit.Foundation; namespace Bitvault.Avalonia; public partial class App : Application { public override void Initialize() { AvaloniaXamlLoader.Load(this); } public override async void OnFrameworkInitializationCompleted() { //var connectionString = new SqliteConnectionStringBuilder(@"Filename=C:\\Users\\dan_c\\source\\repos\\Bitvault\\Bitvault.Avalonia.Desktop\\bin\\Debug\\net8.0\\SQssLite.sql") //{ // Mode = SqliteOpenMode.ReadWriteCreate, // Password = "Test123" //}.ToString(); //var connection = new SqliteConnection(connectionString); //connection.Open(); //var command = connection.CreateCommand(); //command.CommandText = "SELECT quote($newPassword);"; //command.Parameters.AddWithValue("$newPassword", "Test123"); //var quotedNewPassword = (string)command.ExecuteScalar(); //command.CommandText = "PRAGMA rekey = " + quotedNewPassword; //command.Parameters.Clear(); //command.ExecuteNonQuery(); IHost? host = DefaultHostBuilder.Create() .AddConfiguration(args => args.Name = "Personal", "Vault:*") .ConfigureServices((context, services) => { services.AddAvalonia(); services.AddHandler(); if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime) { services.AddTemplate("MainWindow"); } services.AddTransient (provider => Component.Create(provider, args => { args.AddServices(services => { services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddDbContextFactory(args => { args.UseSqlite(); }); services.AddDbContextFactory(); services.AddHandler(); services.AddTemplate(); services.AddTemplate(); services.AddTemplate(); services.AddTemplate(); services.AddTemplate(); services.AddTemplate("Vault"); services.AddTemplate("Lock"); }); })!); services.AddTransient(); services.AddHandler(); services.AddSingleton(); services.AddInitializer(); services.AddTemplate("Main"); services.AddHandler(); services.AddTransient(); services.AddTemplate(); services.AddTemplate("Manage"); services.AddTemplate(); services.AddTemplate("CreateVault"); }) .Build(); await host.RunAsync(); } }