Пример #1
0
        public IActionResult StartSetup()
        {
            if (_setupProvider.HasDataSeeded())
            {
                return(RedirectToAction(nameof(Index), "Home"));
            }

            if (_setupProvider.HasDatabaseSetup())
            {
                return(RedirectToAction(nameof(SeedData)));
            }

            return(View(new StartSetupModel()));
        }
Пример #2
0
        public async Task Invoke(HttpContext context, ISetupProvider installProvider)
        {
            if (!installProvider.HasInitializedSetup())
            {
                await _next(context);

                return;
            }

            var currentUrl = context.Request.Path.ToString();

            // check the database is installed
            if (!installProvider.HasDatabaseSetup())
            {
                //redirect
                var installUrl = SetupSettingsConst.StartSetupUrl;
                if (!currentUrl.StartsWith(installUrl, StringComparison.InvariantCultureIgnoreCase))
                {
                    context.Response.Redirect(installUrl);
                }

                await _next(context);

                return;
            }

            if (!installProvider.HasDataSeeded())
            {
                //redirect
                var seedDataUrl = SetupSettingsConst.SeedDataUrl;
                if (!currentUrl.StartsWith(seedDataUrl, StringComparison.InvariantCultureIgnoreCase))
                {
                    context.Response.Redirect(seedDataUrl);
                }

                await _next(context);

                return;
            }

            await _next(context);
        }