Ejemplo n.º 1
0
        private void OnStartup(object sender, StartupEventArgs e)
        {
            var builder = new Microsoft.Extensions.Configuration.ConfigurationBuilder()
                          .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);


            var builtConfig = builder.Build();

            var azureServiceTokenProvider = new AzureServiceTokenProvider();
            var keyVaultClient            = new KeyVaultClient(
                new KeyVaultClient.AuthenticationCallback(
                    azureServiceTokenProvider.KeyVaultTokenCallback));

            builder.AddAzureKeyVault(
                $"https://{builtConfig["KeyVaultName"]}.vault.azure.net/",
                keyVaultClient,
                new DefaultKeyVaultSecretManager());


            Configuration = builder.Build();

            var services = new ServiceCollection();

            services.AddOptions();
            services.Configure <ConfigWrapper>(Configuration);
            services.AddSingleton <IGraphService, GraphService>();
            services.AddSingleton <IHueService, HueService>();
            services.AddSingleton <LIFXService, LIFXService>();
            services.AddSingleton <LIFXOAuthHelper, LIFXOAuthHelper>();
            services.AddSingleton <MainWindow>();

            DiagnosticsClient.Initialize();

            ServiceProvider = services.BuildServiceProvider();

            var mainWindow = ServiceProvider.GetRequiredService <MainWindow>();

            mainWindow.Show();
        }