public virtual IActionResult Index()
        {
            if (DataSettingsManager.DatabaseIsInstalled)
            {
                return(RedirectToRoute("Homepage"));
            }

            var model = new InstallModel
            {
                AdminEmail        = "*****@*****.**",
                InstallSampleData = false,

                //fast installation service does not support SQL compact
                DisableSampleDataOption   = _config.DisableSampleDataDuringInstallation,
                CreateDatabaseIfNotExists = false,
                ConnectionStringRaw       = false,
                DataProvider           = DataProviderType.SqlServer,
                AvailableDataProviders = _locService.GetAvailableProviderTypes()?.ToList()
            };

            foreach (var lang in _locService.GetAvailableLanguages())
            {
                model.AvailableLanguages.Add(new SelectListItem
                {
                    Value    = Url.Action("ChangeLanguage", "Install", new { language = lang.Code }),
                    Text     = lang.Name,
                    Selected = _locService.GetCurrentLanguage().Code == lang.Code
                });
            }

            return(View(model));
        }
        private InstallModel PrepareAvailableDataProviders(InstallModel model)
        {
            model.AvailableDataProviders.AddRange(
                _locService.GetAvailableProviderTypes()
                .OrderBy(v => v.Value)
                .Select(pt => new SelectListItem
            {
                Value = pt.Key.ToString(),
                Text  = pt.Value
            }));

            return(model);
        }