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); }
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); }