public IActionResult Init(InitCmsViewModel model) { if (ModelState.IsValid) { string cnnString = string.Empty; if (!model.IsUseLocal) { cnnString = string.Format("Server={0};Database={1};UID={2};Pwd={3};MultipleActiveResultSets=true;" , model.DataBaseServer, model.DataBaseName, model.DataBaseUser, model.DataBasePassword); } else { cnnString = "Server=(localdb)\\mssqllocaldb;Database=aspnet-swastika-v1.Cms.Db;Trusted_Connection=True;MultipleActiveResultSets=true"; } GlobalConfigurationService.Instance.ConnectionString = cnnString; GlobalConfigurationService.Instance.InitSWCms(); if (GlobalConfigurationService.Instance.IsInit) { var settings = FileRepository.Instance.GetFile("appsettings", ".json", string.Empty); if (settings != null) { JObject jsonSettings = JObject.Parse(settings.Content); jsonSettings["ConnectionStrings"][SWCmsConstants.CONST_DEFAULT_CONNECTION] = cnnString; settings.Content = jsonSettings.ToString(); FileRepository.Instance.SaveFile(settings); } return(RedirectToAction("Index", "Home", new { culture = SWCmsConstants.Default.Specificulture })); } } return(View(model)); }
private async Task <RepositoryResponse <bool> > InitStep1Async(InitCmsViewModel model) { MixService.SetConnectionString(MixConstants.CONST_CMS_CONNECTION, model.ConnectionString); MixService.SetConnectionString(MixConstants.CONST_MESSENGER_CONNECTION, model.ConnectionString); MixService.SetConnectionString(MixConstants.CONST_ACCOUNT_CONNECTION, model.ConnectionString); MixService.SetConfig(MixConstants.CONST_SETTING_DATABASE_PROVIDER, model.DatabaseProvider.ToString()); MixService.SetConfig(MixConstants.CONST_SETTING_LANGUAGE, model.Culture.Specificulture); MixService.SaveSettings(); var result = await InitCmsService.InitCms(model.SiteName, model.Culture); if (result.IsSucceed) { await InitRolesAsync(); result.IsSucceed = true; MixService.LoadFromDatabase(); MixService.SetConfig <string>("DefaultCulture", model.Culture.Specificulture); MixService.SetConfig("InitStatus", 1); MixService.SaveSettings(); //MixService.Reload(); } else { // if cannot init cms // => reload from default settings // => save to appSettings MixService.Reload(); MixService.SaveSettings(); } return(result); }
public IActionResult Init() { var model = new InitCmsViewModel() { LocalDbName = "aspnet-swastika-v1.Cms.Db" }; return(View(model)); }
public async Task <RepositoryResponse <bool> > Post([FromBody] InitCmsViewModel model) { if (model != null) { var result = await InitCmsAsync(model).ConfigureAwait(false); return(result); } return(new RepositoryResponse <bool>()); }
public IActionResult Init() { var model = new InitCmsViewModel() { LocalDbName = "aspnet-swastika.Cms.Db", LocalDbConnectionString = $"Server=(localdb)\\mssqllocaldb;Database=aspnet-swastika.Cms.Db;Trusted_Connection=True;MultipleActiveResultSets=true" }; return(View(model)); }
public async Task <IActionResult> Init(InitCmsViewModel model) { if (ModelState.IsValid) { string cnnString = string.Empty; if (!model.IsUseLocal) { cnnString = string.Format("Server={0};Database={1};UID={2};Pwd={3};MultipleActiveResultSets=true;" , model.DataBaseServer, model.DataBaseName, model.DataBaseUser, model.DataBasePassword); } else { cnnString = model.LocalDbConnectionString; } var settings = FileRepository.Instance.GetFile("appsettings", ".json", string.Empty, true, "{}"); if (settings != null) { JObject jsonSettings = JObject.Parse(settings.Content); jsonSettings["ConnectionStrings"][SWCmsConstants.CONST_DEFAULT_CONNECTION] = cnnString; // Set connection string for identity ApplicationDbContext jsonSettings["ConnectionStrings"]["AccountConnection"] = cnnString; settings.Content = jsonSettings.ToString(); FileRepository.Instance.SaveFile(settings); } GlobalConfigurationService.Instance.ConnectionString = cnnString; var initResult = await GlobalConfigurationService.Instance.InitSWCms(_userManager, _roleManager); if (initResult.IsSucceed) { await InitRolesAsync(); return(RedirectToAction("RegisterSuperAdmin", "Auth", new { culture = SWCmsConstants.Default.Specificulture })); } else { settings = FileRepository.Instance.GetFile("appsettings", ".json", string.Empty); JObject jsonSettings = JObject.Parse(settings.Content); jsonSettings["ConnectionStrings"][SWCmsConstants.CONST_DEFAULT_CONNECTION] = null; jsonSettings["ConnectionStrings"]["AccountConnection"] = null; settings.Content = jsonSettings.ToString(); FileRepository.Instance.SaveFile(settings); if (initResult.Exception != null) { ModelState.AddModelError("", initResult.Exception.Message); } foreach (var item in initResult.Errors) { ModelState.AddModelError("", item); } } } return(View(model)); }
public async Task <RepositoryResponse <bool> > Step1([FromBody] InitCmsViewModel model) { if (model != null) { var result = new RepositoryResponse <bool>() { IsSucceed = true }; if (MixService.GetConfig <int>("InitStatus") == 0) { result = await InitStep1Async(model).ConfigureAwait(false); } return(result); } return(new RepositoryResponse <bool>()); }
private async Task <RepositoryResponse <bool> > InitCmsAsync(InitCmsViewModel model) { var result = new RepositoryResponse <bool>(); MixService.SetConnectionString(MixConstants.CONST_CMS_CONNECTION, model.ConnectionString); MixService.SetConnectionString(MixConstants.CONST_MESSENGER_CONNECTION, model.ConnectionString); MixService.SetConnectionString(MixConstants.CONST_ACCOUNT_CONNECTION, model.ConnectionString); MixService.SetConfig(MixConstants.CONST_SETTING_IS_MYSQL, model.IsMysql); MixService.SetConfig(MixConstants.CONST_SETTING_DATABASE_PROVIDER, model.DatabaseProvider); MixService.SetConfig(MixConstants.CONST_SETTING_LANGUAGE, model.Culture.Specificulture); InitCmsService sv = new InitCmsService(); var initResult = await sv.InitCms(model.SiteName, model.Culture); if (initResult.IsSucceed) { await InitRolesAsync(); result.IsSucceed = true; MixService.LoadFromDatabase(); MixService.SetConfig <bool>("IsInit", true); MixService.SetConfig <string>("DefaultCulture", model.Culture.Specificulture); MixService.SaveSettings(); MixService.Reload(); } else { // if cannot init cms // => reload from default settings // => save to appSettings MixService.Reload(); MixService.SaveSettings(); if (initResult.Exception != null) { result.Errors.Add(initResult.Exception.Message); result.Exception = initResult.Exception; } foreach (var item in initResult.Errors) { result.Errors.Add(item); } } return(result); }
private async Task <RepositoryResponse <bool> > InitCmsAsync(InitCmsViewModel model) { var result = new RepositoryResponse <bool>(); MixService.SetConnectionString(MixConstants.CONST_CMS_CONNECTION, model.ConnectionString); MixService.SetConnectionString(MixConstants.CONST_MESSENGER_CONNECTION, model.ConnectionString); MixService.SetConnectionString(MixConstants.CONST_ACCOUNT_CONNECTION, model.ConnectionString); MixService.SetConfig(MixConstants.CONST_SETTING_IS_SQLITE, model.IsSqlite); MixService.SetConfig(MixConstants.CONST_SETTING_LANGUAGE, model.Culture.Specificulture); InitCmsService sv = new InitCmsService(); var initResult = await sv.InitCms(model.Culture); if (initResult.IsSucceed) { await InitRolesAsync(); result.IsSucceed = true; MixService.LoadFromDatabase(); MixService.SetConfig <bool>("IsInit", true); MixService.SetConfig <string>("DefaultCulture", model.Culture.Specificulture); MixService.Save(); MixService.Reload(); } else { MixService.Reload(); if (initResult.Exception != null) { result.Errors.Add(initResult.Exception.Message); result.Exception = initResult.Exception; } foreach (var item in initResult.Errors) { result.Errors.Add(item); } } return(result); }
public IActionResult Init() { var model = new InitCmsViewModel(); return(View(model)); }