public PluginPermissionsManager GetPermissionsManager(string connectionString)
        {
            var contextFactory = new InsightDashboardPnDbContextFactory();
            var context        = contextFactory.CreateDbContext(new[] { connectionString });

            return(new PluginPermissionsManager(context));
        }
        private void GetContext(string connectionStr)
        {
            InsightDashboardPnDbContextFactory contextFactory = new InsightDashboardPnDbContextFactory();

            DbContext = contextFactory.CreateDbContext(new[] { connectionStr });

            DbContext.Database.Migrate();
            DbContext.Database.EnsureCreated();
        }
        public void SeedDatabase(string connectionString)
        {
            var contextFactory = new InsightDashboardPnDbContextFactory();

            using (var context = contextFactory.CreateDbContext(new [] { connectionString }))
            {
                InsightDashboardPluginSeed.SeedData(context);
            }
        }
        public void AddPluginConfig(IConfigurationBuilder builder, string connectionString)
        {
            var seedData       = new InsightDashboardConfigurationSeedData();
            var contextFactory = new InsightDashboardPnDbContextFactory();

            builder.AddPluginConfiguration(
                connectionString,
                seedData,
                contextFactory);
        }
        public void ConfigureDbContext(IServiceCollection services, string connectionString)
        {
            services.AddDbContext <InsightDashboardPnDbContext>(o =>
                                                                o.UseMySql(connectionString, new MariaDbServerVersion(
                                                                               new Version(10, 4, 0)), mySqlOptionsAction: builder =>
            {
                builder.EnableRetryOnFailure();
                builder.MigrationsAssembly(PluginAssembly().FullName);
            }));

            var contextFactory = new InsightDashboardPnDbContextFactory();
            var context        = contextFactory.CreateDbContext(new[] { connectionString });

            context.Database.Migrate();

            // Seed database
            SeedDatabase(connectionString);
        }