public async Task <RepositoryResponse <bool> > Post([FromBody] ApiInitCmsViewModel model) { if (model != null) { var result = await InitCmsAsync(model).ConfigureAwait(false); return(result); } return(new RepositoryResponse <bool>()); }
public async Task <RepositoryResponse <bool> > Post([FromBody] ApiInitCmsViewModel model) { if (model != null) { var result = await InitCmsAsync(model).ConfigureAwait(false); if (result.IsSucceed) { GlobalConfigurationService.Instance.RefreshAll(); } return(result); } return(new RepositoryResponse <bool>()); }
public async Task <RepositoryResponse <bool> > InitCmsAsync(ApiInitCmsViewModel model) { var result = new RepositoryResponse <bool>(); 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] = model.ConnectionString; jsonSettings["ConnectionStrings"]["AccountConnection"] = model.ConnectionString; jsonSettings["IsSqlite"] = false; jsonSettings["Language"] = "en-us"; settings.Content = jsonSettings.ToString(); FileRepository.Instance.SaveFile(settings); } GlobalConfigurationService.Instance.CmsConfigurations = new CmsConfiguration(); var initResult = await GlobalConfigurationService.Instance.InitSWCms( _userManager, _roleManager); if (initResult.IsSucceed) { await InitRolesAsync(); result.IsSucceed = true; GlobalConfigurationService.Instance.RefreshConfigurations(); } 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; jsonSettings["IsSqlite"] = false; jsonSettings["Language"] = "en-us"; settings.Content = jsonSettings.ToString(); FileRepository.Instance.SaveFile(settings); if (initResult.Exception != null) { result.Errors.Add(initResult.Exception.Message); } foreach (var item in initResult.Errors) { result.Errors.Add(item); } } return(result); }