public async Task SeedAsync(PizzaLabDbContext dbContext, IServiceProvider serviceProvider) { if (dbContext == null) { throw new ArgumentNullException(nameof(dbContext)); } if (serviceProvider == null) { throw new ArgumentNullException(nameof(serviceProvider)); } var logger = serviceProvider.GetService <ILoggerFactory>().CreateLogger(typeof(ApplicationDbContextSeeder)); var seeders = new List <ISeeder> { new RolesSeeder(), new SettingsSeeder(), }; foreach (var seeder in seeders) { await seeder.SeedAsync(dbContext, serviceProvider); await dbContext.SaveChangesAsync(); logger.LogInformation($"Seeder {seeder.GetType().Name} done."); } }
public async Task SeedAsync(PizzaLabDbContext dbContext, IServiceProvider serviceProvider) { if (dbContext.Settings.Any()) { return; } await dbContext.Settings.AddAsync(new Setting { Name = "Setting1", Value = "value1" }); }
public UsersLikesServiceTests() { var options = new DbContextOptionsBuilder <PizzaLabDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options; var dbContext = new PizzaLabDbContext(options); this._usersLikesRepository = new EfRepository <UsersLikes>(dbContext); this._usersLikesService = new UsersLikesService(_usersLikesRepository); }
public ProductsIngredientsServiceTests() { var options = new DbContextOptionsBuilder <PizzaLabDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options; var dbContext = new PizzaLabDbContext(options); this._productsIngredientsRepository = new EfRepository <ProductsIngredients>(dbContext); this._productsIngredientsService = new ProductsIngredientsService(_productsIngredientsRepository); }
public CategoriesServiceTests() { var options = new DbContextOptionsBuilder <PizzaLabDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options; var dbContext = new PizzaLabDbContext(options); var mapperProfile = new MappingConfiguration(); var conf = new MapperConfiguration(cfg => cfg.AddProfile(mapperProfile)); var mapper = new Mapper(conf); this._categoriesRepository = new EfRepository <Category>(dbContext); this._categoriesService = new CategoriesService(_categoriesRepository, mapper); }
public async Task GetCountShouldReturnCorrectNumberUsingDbContext() { var options = new DbContextOptionsBuilder <PizzaLabDbContext>() .UseInMemoryDatabase(databaseName: "SettingsTestDb").Options; using var dbContext = new PizzaLabDbContext(options); dbContext.Settings.Add(new Setting()); dbContext.Settings.Add(new Setting()); dbContext.Settings.Add(new Setting()); await dbContext.SaveChangesAsync(); using var repository = new EfDeletableEntityRepository <Setting>(dbContext); var service = new SettingsService(repository); Assert.Equal(3, service.GetCount()); }
public EfRepository(PizzaLabDbContext context) { this.Context = context ?? throw new ArgumentNullException(nameof(context)); this.DbSet = this.Context.Set <TEntity>(); }
public async Task SeedAsync(PizzaLabDbContext dbContext, IServiceProvider serviceProvider) { var roleManager = serviceProvider.GetRequiredService <RoleManager <ApplicationRole> >(); await SeedRoleAsync(roleManager, GlobalConstants.AdministratorRoleName); }
public EfDeletableEntityRepository(PizzaLabDbContext context) : base(context) { }