diff --git a/src/MusicStore/Mocks/StartupSocialTesting.cs b/src/MusicStore/Mocks/StartupSocialTesting.cs index ba741c3ba1..d79a7fc8a6 100644 --- a/src/MusicStore/Mocks/StartupSocialTesting.cs +++ b/src/MusicStore/Mocks/StartupSocialTesting.cs @@ -49,31 +49,22 @@ namespace MusicStore if (runningOnMono) { services.AddEntityFramework() - .AddInMemoryStore(); + .AddInMemoryStore() + .AddDbContext(options => + { + options.UseInMemoryStore(); + }); ; } else { services.AddEntityFramework() - .AddSqlServer(); + .AddSqlServer() + .AddDbContext(options => + { + options.UseSqlServer(configuration.Get("Data:DefaultConnection:ConnectionString")); + }); } - services.AddScoped(); - - // Configure DbContext - services.Configure(options => - { - options.DefaultAdminUserName = configuration.Get("DefaultAdminUsername"); - options.DefaultAdminPassword = configuration.Get("DefaultAdminPassword"); - if (runningOnMono) - { - options.UseInMemoryStore(); - } - else - { - options.UseSqlServer(configuration.Get("Data:DefaultConnection:ConnectionString")); - } - }); - // Add Identity services to the services container services.AddDefaultIdentity(configuration); diff --git a/src/MusicStore/Models/MusicStoreContext.cs b/src/MusicStore/Models/MusicStoreContext.cs index 7f1044f991..5e5a01ea1a 100644 --- a/src/MusicStore/Models/MusicStoreContext.cs +++ b/src/MusicStore/Models/MusicStoreContext.cs @@ -1,9 +1,7 @@ -using System; -using Microsoft.AspNet.Identity; +using Microsoft.AspNet.Identity; using Microsoft.AspNet.Identity.EntityFramework; using Microsoft.Data.Entity; using Microsoft.Data.Entity.Metadata; -using Microsoft.Framework.OptionsModel; namespace MusicStore.Models { @@ -11,8 +9,7 @@ namespace MusicStore.Models public class MusicStoreContext : IdentityDbContext { - public MusicStoreContext(IServiceProvider serviceProvider, IOptions optionsAccessor) - : base(serviceProvider, optionsAccessor.Options) + public MusicStoreContext() { } @@ -41,10 +38,4 @@ namespace MusicStore.Models } } - public class MusicStoreDbContextOptions : DbContextOptions - { - public string DefaultAdminUserName { get; set; } - - public string DefaultAdminPassword { get; set; } - } } \ No newline at end of file diff --git a/src/MusicStore/Models/SampleData.cs b/src/MusicStore/Models/SampleData.cs index e85cefb37c..51a500a890 100644 --- a/src/MusicStore/Models/SampleData.cs +++ b/src/MusicStore/Models/SampleData.cs @@ -7,13 +7,15 @@ using Microsoft.AspNet.Identity; using Microsoft.Data.Entity; using Microsoft.Data.Entity.SqlServer; using Microsoft.Framework.DependencyInjection; -using Microsoft.Framework.OptionsModel; +using Microsoft.Framework.ConfigurationModel; namespace MusicStore.Models { public static class SampleData { const string imgUrl = "~/Images/placeholder.png"; + const string defaultAdminUserName = "DefaultAdminUserName"; + const string defaultAdminPassword = "defaultAdminPassword"; public static async Task InitializeMusicStoreDatabaseAsync(IServiceProvider serviceProvider) { @@ -78,7 +80,10 @@ namespace MusicStore.Models /// private static async Task CreateAdminUser(IServiceProvider serviceProvider) { - var options = serviceProvider.GetService>().Options; + var configuration = new Configuration() + .AddJsonFile("config.json") + .AddEnvironmentVariables(); + //const string adminRole = "Administrator"; var userManager = serviceProvider.GetService>(); @@ -89,11 +94,11 @@ namespace MusicStore.Models // await roleManager.CreateAsync(new IdentityRole(adminRole)); //} - var user = await userManager.FindByNameAsync(options.DefaultAdminUserName); + var user = await userManager.FindByNameAsync(configuration.Get(defaultAdminUserName)); if (user == null) { - user = new ApplicationUser { UserName = options.DefaultAdminUserName }; - await userManager.CreateAsync(user, options.DefaultAdminPassword); + user = new ApplicationUser { UserName = configuration.Get(defaultAdminUserName) }; + await userManager.CreateAsync(user, configuration.Get(defaultAdminPassword)); //await userManager.AddToRoleAsync(user, adminRole); await userManager.AddClaimAsync(user, new Claim("ManageStore", "Allowed")); } diff --git a/src/MusicStore/Startup.cs b/src/MusicStore/Startup.cs index 2397fff859..a340293977 100644 --- a/src/MusicStore/Startup.cs +++ b/src/MusicStore/Startup.cs @@ -33,31 +33,22 @@ namespace MusicStore if (runningOnMono) { services.AddEntityFramework() - .AddInMemoryStore(); + .AddInMemoryStore() + .AddDbContext(options => + { + options.UseInMemoryStore(); + }); ; } else { services.AddEntityFramework() - .AddSqlServer(); + .AddSqlServer() + .AddDbContext(options => + { + options.UseSqlServer(Configuration.Get("Data:DefaultConnection:ConnectionString")); + }); } - services.AddScoped(); - - // Configure DbContext - services.Configure(options => - { - options.DefaultAdminUserName = Configuration.Get("DefaultAdminUsername"); - options.DefaultAdminPassword = Configuration.Get("DefaultAdminPassword"); - if (runningOnMono) - { - options.UseInMemoryStore(); - } - else - { - options.UseSqlServer(Configuration.Get("Data:DefaultConnection:ConnectionString")); - } - }); - // Add Identity services to the services container services.AddDefaultIdentity(Configuration); diff --git a/src/MusicStore/StartupNtlmAuthentication.cs b/src/MusicStore/StartupNtlmAuthentication.cs index 7582083e32..cb0e7435de 100644 --- a/src/MusicStore/StartupNtlmAuthentication.cs +++ b/src/MusicStore/StartupNtlmAuthentication.cs @@ -70,17 +70,11 @@ namespace MusicStore { // Add EF services to the services container services.AddEntityFramework() - .AddSqlServer(); - - services.AddScoped(); - - // Configure DbContext - services.Configure(options => - { - options.DefaultAdminUserName = configuration.Get("DefaultAdminUsername"); - options.DefaultAdminPassword = configuration.Get("DefaultAdminPassword"); - options.UseSqlServer(configuration.Get("Data:DefaultConnection:ConnectionString")); - }); + .AddSqlServer() + .AddDbContext(options => + { + options.UseSqlServer(configuration.Get("Data:DefaultConnection:ConnectionString")); + }); // Add Identity services to the services container services.AddDefaultIdentity(configuration);