Example #1
0
        public async Task SeedAsync(EventureDbContext 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.");
            }
        }
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, IServiceProvider serviceProvider,
                              ILoggerFactory loggingRactory, EventureDbContext context)
        {
            //var loggingFactory = serviceProvider.GetService<LoggerFactory>();
            loggingRactory.AddContext(LogLevel.Error, context);

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseDatabaseErrorPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
                app.UseHsts();
            }
            var dbContext = serviceProvider.GetService <EventureDbContext>();

            dbContext.Database.Migrate();

            app.UseSeedDataMiddleware();
            Seeder.Seed(serviceProvider);
            app.UseHttpsRedirection();
            app.UseStaticFiles();
            app.UseCookiePolicy();

            app.UseAuthentication();

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");
            });
        }
Example #3
0
        public async Task SeedAsync(EventureDbContext dbContext, IServiceProvider serviceProvider)
        {
            if (dbContext.Settings.Any())
            {
                return;
            }

            await dbContext.Settings.AddAsync(new Setting { Name = "Setting1", Value = "value1" });
        }
        public async Task GetCountShouldReturnCorrectNumberUsingDbContext()
        {
            var options = new DbContextOptionsBuilder <EventureDbContext>()
                          .UseInMemoryDatabase(databaseName: "Find_User_Database") // Give a Unique name to the DB
                          .Options;
            var dbContext = new EventureDbContext(options);

            dbContext.Settings.Add(new Setting());
            dbContext.Settings.Add(new Setting());
            dbContext.Settings.Add(new Setting());
            await dbContext.SaveChangesAsync();

            var repository = new EfDeletableEntityRepository <Setting>(dbContext);
            var service    = new SettingsService(repository);
            var count      = service.GetCount();

            Assert.Equal(3, count);
        }
        private void SeedEvents(EventureDbContext context)
        {
            var sampleEvents = new List <Event>();

            for (int i = 0; i < 10; i++)
            {
                var eventt = new Event()
                {
                    Name           = $"Event {i}",
                    Place          = $"Place {i}",
                    Start          = DateTime.Now.Add(TimeSpan.FromDays(i)),
                    End            = DateTime.Now.Add(TimeSpan.FromDays(i * 2)),
                    PricePerTicket = 10 * i,
                    TotalTickets   = 100 * i
                };

                context.Events.Add(eventt);
            }

            context.SaveChanges();
        }
Example #6
0
        private static void SeedEvents(EventureDbContext db)
        {
            if (db.Events.Count() != 0)
            {
                return;
            }

            var eventsList = new List <Event>();

            var eventEntity1 = new Event
            {
                UUID           = "UUID-1",
                Name           = "Test Name",
                Place          = "Test Place",
                Start          = new DateTime(2018, 5, 8),
                End            = new DateTime(2018, 5, 8),
                TotalTickets   = 28,
                PricePerTicket = 0
            };

            eventsList.Add(eventEntity1);

            var eventEntity2 = new Event
            {
                UUID           = "UUID-2",
                Name           = "Test Name 2",
                Place          = "Test Place 2",
                Start          = new DateTime(2018, 5, 8),
                End            = new DateTime(2018, 5, 8),
                TotalTickets   = 28,
                PricePerTicket = 100
            };

            eventsList.Add(eventEntity2);

            db.Events.AddRange(eventsList);
            db.SaveChanges();
        }
Example #7
0
 public OrderServices(EventureDbContext context)
 {
     this.context = context;
 }
Example #8
0
 public DbLogger(string categoryName, Func <string, LogLevel, bool> filter, EventureDbContext context)
 {
     this.categoryName = categoryName;
     this.filter       = filter;
     this.context      = context;
 }
 public EfDeletableEntityRepository(EventureDbContext context)
     : base(context)
 {
 }
Example #10
0
 public static ILoggerFactory AddContext(this ILoggerFactory factory, LogLevel minLevel, EventureDbContext context)
 {
     return(AddContext(
                factory,
                context,
                (_, logLevel) => logLevel >= minLevel));
 }
Example #11
0
 public static ILoggerFactory AddContext(this ILoggerFactory factory, EventureDbContext dbContext, Func <string, LogLevel, bool> filter = null)
 {
     factory.AddProvider(new DbLoggerProvider(filter, dbContext));
     return(factory);
 }
Example #12
0
 public DbLoggerProvider(Func <string, LogLevel, bool> filter, EventureDbContext context)
 {
     this.filter  = filter;
     this.context = context;
 }
 public OrdersController(EventureDbContext context, IMapper mapper)
 {
     this._context = context;
     this._mapper  = mapper;
 }
 public EventsController(EventureDbContext context, IMapper mapper)
 {
     _context = context;
     _mapper  = mapper;
 }
Example #15
0
        public async Task SeedAsync(EventureDbContext dbContext, IServiceProvider serviceProvider)
        {
            var roleManager = serviceProvider.GetRequiredService <RoleManager <ApplicationRole> >();

            await SeedRoleAsync(roleManager, GlobalConstants.AdministratorRoleName);
        }
Example #16
0
 public EfRepository(EventureDbContext context)
 {
     this.Context = context ?? throw new ArgumentNullException(nameof(context));
     this.DbSet   = this.Context.Set <TEntity>();
 }
 public HomeController(EventureDbContext chuskaDbContext, IMapper mapper)
 {
     this.db     = chuskaDbContext;
     this.mapper = mapper;
 }