From 1f94a8d609785a50c56e5aaae3533a979674d5b2 Mon Sep 17 00:00:00 2001 From: Tomasz Jarzynski Date: Thu, 26 Apr 2018 19:41:47 +0200 Subject: [PATCH] Added UserSecrets --- .../BusinessLogic/PptxToJpgConverter.cs | 5 +++- .../Musiction.API/Musiction.API.csproj | 2 ++ Musiction.API/Musiction.API/Program.cs | 24 +++++++++++++------ Musiction.API/Musiction.API/Startup.cs | 6 ++--- 4 files changed, 26 insertions(+), 11 deletions(-) diff --git a/Musiction.API/Musiction.API/BusinessLogic/PptxToJpgConverter.cs b/Musiction.API/Musiction.API/BusinessLogic/PptxToJpgConverter.cs index 3f2a9ea..60dc095 100644 --- a/Musiction.API/Musiction.API/BusinessLogic/PptxToJpgConverter.cs +++ b/Musiction.API/Musiction.API/BusinessLogic/PptxToJpgConverter.cs @@ -14,12 +14,15 @@ namespace Musiction.API.BusinessLogic public class PptxToJpgConverter { private Uri baseUri = new Uri("https://sandbox.zamzar.com/v1/"); - private string _apiKey = Startup.Configuration["zamzarKey"]; + private string _apiKey; private IFileAndFolderPathsCreator _fileAndFolderPath; public PptxToJpgConverter(IFileAndFolderPathsCreator fileAndFolderPath) { _fileAndFolderPath = fileAndFolderPath; + + var propName = Startup.Configuration["environment"] + "ZamzarKey"; + _apiKey = Startup.Configuration[propName]; } public string Convert(string sourceFile) { diff --git a/Musiction.API/Musiction.API/Musiction.API.csproj b/Musiction.API/Musiction.API/Musiction.API.csproj index 03e288c..edd245a 100644 --- a/Musiction.API/Musiction.API/Musiction.API.csproj +++ b/Musiction.API/Musiction.API/Musiction.API.csproj @@ -2,6 +2,7 @@ netcoreapp2.0 + 79c7fe53-1b92-4bc2-ad7e-318e817f92c9 @@ -20,6 +21,7 @@ + diff --git a/Musiction.API/Musiction.API/Program.cs b/Musiction.API/Musiction.API/Program.cs index bd2c389..bcbe6e2 100644 --- a/Musiction.API/Musiction.API/Program.cs +++ b/Musiction.API/Musiction.API/Program.cs @@ -1,28 +1,38 @@ using Microsoft.AspNetCore; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; +using System.Collections.Generic; namespace Musiction.API { public class Program { + private static readonly Dictionary defaults = + new Dictionary { { + WebHostDefaults.EnvironmentKey, "development" + } }; public static void Main(string[] args) { BuildWebHost(args).Run(); } - public static IWebHost BuildWebHost(string[] args) => - WebHost.CreateDefaultBuilder(args) + public static IWebHost BuildWebHost(string[] args) + { + + var element = WebHost.CreateDefaultBuilder(args) .ConfigureAppConfiguration((webHostBuilderContext, configurationbuilder) => { var environment = webHostBuilderContext.HostingEnvironment; - configurationbuilder - .AddJsonFile("appSettings.json", optional: false); - - - configurationbuilder.AddEnvironmentVariables(); + configurationbuilder.AddJsonFile("appSettings.json", optional: false) + .AddInMemoryCollection(defaults) + .AddEnvironmentVariables("ASPNETCORE_") + .AddCommandLine(args) + .AddUserSecrets(); }) .UseStartup() .Build(); + + return element; + } } } diff --git a/Musiction.API/Musiction.API/Startup.cs b/Musiction.API/Musiction.API/Startup.cs index 3e30e87..3f59d1e 100644 --- a/Musiction.API/Musiction.API/Startup.cs +++ b/Musiction.API/Musiction.API/Startup.cs @@ -48,7 +48,9 @@ public void ConfigureServices(IServiceCollection services) services.AddTransient(); - var connectionString = Startup.Configuration["connectionStrings"]; + var propName = Startup.Configuration["environment"] + "ConnectionString"; + var connectionString = Startup.Configuration[propName]; + services.AddDbContext(o => o.UseMySql(connectionString)); services.AddScoped(); @@ -64,8 +66,6 @@ public void ConfigureServices(IServiceCollection services) loggerFactory.AddDebug(); loggerFactory.AddNLog(); - - songContext.EnsureSeedDataForContext(); if (env.IsDevelopment())