Beispiel #1
0
        public void ConfigureApplication(IApplicationBuilder app)
        {
            // Load settings
            var settings = new ServiceSettings();

            app.UseAuthentication();
            app.UseRouting();
            app.UseAuthorization();
            app.UseCors(ServiceExtensions.PangulCorsPolicy);
            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute("default", "{controller=Frontend}/{action=Index}/{id?}");
            });
            app.UseMiddleware <PangulSpaMiddleware>(new PangulSpaMiddlewareOptions()
            {
                StaticFolderRoots = new []
                {
                    settings.Folders.StaticAssetsFolder,
                    settings.Folders.StaticAssetsFallbackFolder,
                },
                IgnoreRoutes = new [] { "/api" },
                DefaultPath  = "/index.html"
            });

            // If we don't have a database, create it now
            ServiceDb.CreateAndMigrateDatabaseIfMissing();

            var logger = LogManager.GetCurrentClassLogger();

            logger.Info("Application started");
        }
Beispiel #2
0
        public static void CreateAndMigrateDatabaseIfMissing()
        {
            var settings = new ServiceSettings();

            if (!settings.Db.UseSqlite)
            {
                return;
            }

            var logger = LogManager.GetCurrentClassLogger();
            var dbPath = settings.Db.Connection.Substring("DataSource=".Length);

            if (!File.Exists(dbPath))
            {
                logger.Info("Missing database! Create and migrating a new database");
                using (var db = new ServiceDb())
                {
                    db.Database.Migrate();
                }
            }
        }