protected bool InitCultures(InitCulture culture, MixCmsContext context, IDbContextTransaction transaction) { bool isSucceed = true; try { if (context.MixCulture.Count() == 0) { // EN-US var enCulture = new MixCulture() { Specificulture = culture.Specificulture, FullName = culture.FullName, Description = culture.Description, Icon = culture.Icon, Alias = culture.Alias, Status = (int)MixEnums.MixContentStatus.Published }; context.Entry(enCulture).State = EntityState.Added; context.SaveChanges(); } } catch { isSucceed = false; } return(isSucceed); }
protected static bool InitCultures(InitCulture culture, MixCmsContext context, IDbContextTransaction transaction) { V_0 = true; try { if (context.get_MixCulture().Count <MixCulture>() == 0) { stackVariable5 = new MixCulture(); stackVariable5.set_Id(1); stackVariable5.set_Specificulture(culture.get_Specificulture()); stackVariable5.set_FullName(culture.get_FullName()); stackVariable5.set_Description(culture.get_Description()); stackVariable5.set_Icon(culture.get_Icon()); stackVariable5.set_Alias(culture.get_Alias()); stackVariable5.set_Status(2.ToString()); stackVariable5.set_CreatedDateTime(DateTime.get_UtcNow()); context.Entry <MixCulture>(stackVariable5).set_State(4); dummyVar0 = context.SaveChanges(); } } catch { dummyVar1 = exception_0; V_0 = false; } return(V_0); }
private async Task <bool> InitConfigurationsAsync(InitCulture culture, SioCmsContext context, IDbContextTransaction transaction) { /* Init Configs */ var configurations = FileRepository.Instance.GetFile(SioConstants.CONST_FILE_CONFIGURATIONS, "data", true, "{}"); var obj = JObject.Parse(configurations.Content); var arrConfiguration = obj["data"].ToObject <List <SioConfiguration> >(); var result = await ViewModels.SioConfigurations.ReadMvcViewModel.ImportConfigurations(arrConfiguration, culture.Specificulture, context, transaction); return(result.IsSucceed); }
private async Task <bool> InitLanguagesAsync(InitCulture culture, MixCmsContext context, IDbContextTransaction transaction) { /* Init Languages */ var configurations = FileRepository.Instance.GetFile(MixConstants.CONST_FILE_LANGUAGES, "data", true, "{}"); var obj = JObject.Parse(configurations.Content); var arrLanguage = obj["data"].ToObject <List <MixLanguage> >(); var result = await ViewModels.MixLanguages.ReadMvcViewModel.ImportLanguages(arrLanguage, culture.Specificulture, context, transaction); return(result.IsSucceed); }
private async Task <bool> InitConfigurationsAsync(string siteName, InitCulture culture, MixCmsContext context, IDbContextTransaction transaction) { /* Init Configs */ var configurations = FileRepository.Instance.GetFile(MixConstants.CONST_FILE_CONFIGURATIONS, "data", true, "{}"); var obj = JObject.Parse(configurations.Content); var arrConfiguration = obj["data"].ToObject <List <MixConfiguration> >(); if (!string.IsNullOrEmpty(siteName)) { arrConfiguration.Find(c => c.Keyword == "SiteName").Value = siteName; } var result = await ViewModels.MixConfigurations.ReadMvcViewModel.ImportConfigurations(arrConfiguration, culture.Specificulture, context, transaction); return(result.IsSucceed); }
protected bool InitCultures(InitCulture culture, SiocCmsContext context, IDbContextTransaction transaction) { bool isSucceed = true; try { if (context.SiocCulture.Count() == 0) { // EN-US var enCulture = new SiocCulture() { Specificulture = culture.Specificulture, FullName = culture.FullName, Description = culture.Description, Icon = culture.Icon, Alias = culture.Alias }; context.Entry(enCulture).State = EntityState.Added; //var vnCulture = new SiocCulture() //{ // Specificulture = "vi-vn", // FullName = "Vietnam", // Description = "Việt Nam", // Icon = "flag-icon-vn", // Alias = "VN" //}; //context.Entry(vnCulture).State = EntityState.Added; context.SaveChanges(); } } catch { isSucceed = false; } return(isSucceed); }
private bool InitConfigurations(InitCulture culture, SiocCmsContext context, IDbContextTransaction transaction) { /* Init Configs */ bool isSucceed = true; var count = context.SiocConfiguration.Count(); //ConfigurationViewModel.Repository.Count(_context: context, _transaction: transaction).Data; if (count == 0) { var config = new SiocConfiguration() { Keyword = SWCmsConstants.ConfigurationKeyword.Theme, Specificulture = culture.Specificulture, Category = SWCmsConstants.ConfigurationType.User, DataType = (int)SWCmsConstants.DataType.String, Description = "Cms Theme", Value = "Default" }; context.Entry(config).State = EntityState.Added; var config1 = new SiocConfiguration() { Keyword = SWCmsConstants.ConfigurationKeyword.ThemeId, Specificulture = culture.Specificulture, Category = SWCmsConstants.ConfigurationType.User, DataType = (int)SWCmsConstants.DataType.String, Description = "Cms Theme", Value = "1" }; context.Entry(config1).State = EntityState.Added; context.SaveChanges(); GlobalConfigurationService.Instance.RefreshConfigurations(context, transaction); } return(isSucceed); }
public static async Task <RepositoryResponse <bool> > InitCms(string siteName, InitCulture culture) { V_0.siteName = siteName; V_0.culture = culture; V_0.u003cu003et__builder = AsyncTaskMethodBuilder <RepositoryResponse <bool> > .Create(); V_0.u003cu003e1__state = -1; V_0.u003cu003et__builder.Start <InitCmsService.u003cInitCmsu003ed__1>(ref V_0); return(V_0.u003cu003et__builder.get_Task()); }
public async Task <RepositoryResponse <bool> > InitCms(string siteName, InitCulture culture) { RepositoryResponse <bool> result = new RepositoryResponse <bool>(); MixCmsContext context = null; MixCmsAccountContext accountContext = null; MixChatServiceContext messengerContext; IDbContextTransaction transaction = null; IDbContextTransaction accTransaction = null; bool isSucceed = true; try { if (!string.IsNullOrEmpty(MixService.GetConnectionString(MixConstants.CONST_CMS_CONNECTION))) { context = new MixCmsContext(); accountContext = new MixCmsAccountContext(); messengerContext = new MixChatServiceContext(); //MixChatServiceContext._cnn = MixService.GetConnectionString(MixConstants.CONST_CMS_CONNECTION); await context.Database.MigrateAsync(); await accountContext.Database.MigrateAsync(); await messengerContext.Database.MigrateAsync(); transaction = context.Database.BeginTransaction(); var countCulture = context.MixCulture.Count(); var isInit = countCulture > 0; if (!isInit) { MixService.SetConfig <string>("SiteName", siteName); isSucceed = InitCultures(culture, context, transaction); isSucceed = isSucceed && InitPositions(context, transaction); isSucceed = isSucceed && await InitConfigurationsAsync(siteName, culture, context, transaction); isSucceed = isSucceed && await InitLanguagesAsync(culture, context, transaction); isSucceed = isSucceed && InitThemes(siteName, context, transaction); } else { isSucceed = true; } if (isSucceed && context.MixPage.Count() == 0) { var cate = new MixPage() { Id = 1, Level = 0, Title = "Home", Specificulture = culture.Specificulture, Template = "Pages/_Home.cshtml", Type = (int)MixPageType.Home, CreatedBy = "Admin", CreatedDateTime = DateTime.UtcNow, Status = (int)PageStatus.Published }; context.Entry(cate).State = EntityState.Added; var alias = new MixUrlAlias() { Id = 1, SourceId = "1", Type = (int)UrlAliasType.Page, Specificulture = culture.Specificulture, CreatedDateTime = DateTime.UtcNow, Alias = cate.Title.ToLower() }; context.Entry(alias).State = EntityState.Added; var createVNHome = await context.SaveChangesAsync().ConfigureAwait(false); isSucceed = createVNHome > 0; var cate404 = new MixPage() { Id = 2, Title = "404", Level = 0, Specificulture = culture.Specificulture, Template = "Pages/_404.cshtml", Type = (int)MixPageType.Article, CreatedBy = "Admin", CreatedDateTime = DateTime.UtcNow, Status = (int)PageStatus.Published }; var alias404 = new MixUrlAlias() { Id = 2, SourceId = "2", Type = (int)UrlAliasType.Page, Specificulture = culture.Specificulture, CreatedDateTime = DateTime.UtcNow, Alias = cate404.Title.ToLower() }; context.Entry(cate404).State = EntityState.Added; context.Entry(alias404).State = EntityState.Added; var create404 = await context.SaveChangesAsync().ConfigureAwait(false); isSucceed = create404 > 0; } if (isSucceed) { transaction.Commit(); } else { transaction.Rollback(); } } result.IsSucceed = isSucceed; return(result); } catch (Exception ex) // TODO: Add more specific exeption types instead of Exception only { transaction?.Rollback(); accTransaction?.Rollback(); result.IsSucceed = false; result.Exception = ex; return(result); } finally { context?.Dispose(); accountContext?.Dispose(); } }
/// <summary> /// Step 1 /// - Init Culture /// - Init System pages /// </summary> /// <param name="siteName"></param> /// <param name="culture"></param> /// <returns></returns> public static async Task <RepositoryResponse <bool> > InitCms(string siteName, InitCulture culture) { RepositoryResponse <bool> result = new RepositoryResponse <bool>(); MixCmsContext context = null; MixCmsAccountContext accountContext = null; MixChatServiceContext messengerContext; IDbContextTransaction transaction = null; IDbContextTransaction accTransaction = null; bool isSucceed = true; try { if (!string.IsNullOrEmpty(MixService.GetConnectionString(MixConstants.CONST_CMS_CONNECTION))) { context = new MixCmsContext(); accountContext = new MixCmsAccountContext(); messengerContext = new MixChatServiceContext(); await context.Database.MigrateAsync(); await accountContext.Database.MigrateAsync(); await messengerContext.Database.MigrateAsync(); transaction = context.Database.BeginTransaction(); var countCulture = context.MixCulture.Count(); var isInit = MixService.GetConfig <bool>("IsInit"); if (!isInit) { /** * Init Selected Language as default */ isSucceed = InitCultures(culture, context, transaction); /** * Init System Pages */ if (isSucceed) { InitPages(culture.Specificulture, context, transaction); isSucceed = (await context.SaveChangesAsync().ConfigureAwait(false)) > 0; } else { result.Errors.Add("Cannot init Pages"); } /** * Init System Positions */ if (isSucceed) { isSucceed = await InitPositionsAsync(context, transaction); } else { result.Errors.Add("Cannot init Positions"); } /** * Init System Configurations */ if (isSucceed) { var saveResult = await InitConfigurationsAsync(siteName, culture.Specificulture, context, transaction); isSucceed = saveResult.IsSucceed; } else { result.Errors.Add("Cannot init Configurations"); } /** * Init System Attribute Sets */ if (isSucceed) { var saveResult = await InitAttributeSetsAsync(siteName, culture.Specificulture, context, transaction); isSucceed = saveResult.IsSucceed; } else { result.Errors.Add("Cannot init Attribute Sets"); } } if (isSucceed) { transaction.Commit(); } else { transaction.Rollback(); } } result.IsSucceed = isSucceed; return(result); } catch (Exception ex) // TODO: Add more specific exeption types instead of Exception only { transaction?.Rollback(); accTransaction?.Rollback(); result.IsSucceed = false; result.Exception = ex; return(result); } finally { context?.Dispose(); accountContext?.Dispose(); } }
public static async Task <RepositoryResponse <bool> > InitSiteData(string siteName, InitCulture culture) { RepositoryResponse <bool> result = new RepositoryResponse <bool>(); MixCmsContext context = null; IDbContextTransaction transaction = null; bool isSucceed = true; try { if (!string.IsNullOrEmpty(MixService.GetConnectionString(MixConstants.CONST_CMS_CONNECTION))) { context = MixService.GetDbContext(); transaction = context.Database.BeginTransaction(); var countCulture = context.MixCulture.Count(); /** * Init Selected Language as default */ isSucceed = InitCultures(culture, context, transaction); /** * Init System Configurations */ if (isSucceed && context.MixConfiguration.Count() == 0) { var saveResult = await InitConfigurationsAsync(siteName, culture.Specificulture, context, transaction); result.IsSucceed = saveResult.IsSucceed; result.Errors = saveResult.Errors; result.Exception = saveResult.Exception; } else { result.IsSucceed = false; result.Errors.Add("Cannot init cultures"); } if (result.IsSucceed) { transaction.Commit(); } else { transaction.Rollback(); } } return(result); } catch (Exception ex) // TODO: Add more specific exeption types instead of Exception only { transaction?.Rollback(); result.IsSucceed = false; result.Exception = ex; return(result); } finally { context?.Database.CloseConnection(); context?.Dispose(); } }
/// <summary> /// Step 1 /// - Init Culture /// - Init System pages /// </summary> /// <param name="siteName"></param> /// <param name="culture"></param> /// <returns></returns> public static async Task <RepositoryResponse <bool> > InitCms(string siteName, InitCulture culture) { RepositoryResponse <bool> result = new RepositoryResponse <bool>(); MixCmsContext context = null; MixCmsAccountContext accountContext = null; MixChatServiceContext messengerContext = null; try { if (!string.IsNullOrEmpty(MixService.GetConnectionString(MixConstants.CONST_CMS_CONNECTION))) { context = MixService.GetDbContext(); accountContext = new MixCmsAccountContext(); messengerContext = new MixChatServiceContext(); await context.Database.MigrateAsync(); await accountContext.Database.MigrateAsync(); await messengerContext.Database.MigrateAsync(); var countCulture = context.MixCulture.Count(); var pendingMigration = context.Database.GetPendingMigrations().Count(); if (pendingMigration == 0) { return(await InitSiteData(siteName, culture)); } } return(result); } catch (Exception ex) // TODO: Add more specific exeption types instead of Exception only { result.IsSucceed = false; result.Exception = ex; return(result); } finally { context?.Dispose(); accountContext?.Dispose(); messengerContext?.Dispose(); } }
public async Task <RepositoryResponse <bool> > InitSWCms(InitCulture culture) { RepositoryResponse <bool> result = new RepositoryResponse <bool>(); SiocCmsContext context = null; SiocCmsAccountContext accountContext = null; IDbContextTransaction transaction = null; IDbContextTransaction accTransaction = null; bool isSucceed = true; try { if (!string.IsNullOrEmpty(CmsConfigurations.CmsConnectionString)) { context = new SiocCmsContext(); accountContext = new SiocCmsAccountContext(); await context.Database.MigrateAsync(); await accountContext.Database.MigrateAsync(); transaction = context.Database.BeginTransaction(); var countCulture = context.SiocCulture.Count(); var isInit = countCulture > 0; if (!isInit) { isSucceed = InitCultures(culture, context, transaction); isSucceed = isSucceed && InitPositions(context, transaction); isSucceed = isSucceed && InitThemes(context, transaction); isSucceed = isSucceed && InitConfigurations(culture, context, transaction); } else { isSucceed = true; } if (isSucceed && BECategoryViewModel.Repository.Count(context, transaction).Data == 0) { BECategoryViewModel cate = new BECategoryViewModel(new SiocCategory() { Title = "Home", Specificulture = culture.Specificulture, Template = "_Home", Type = (int)SWCmsConstants.CateType.Home, CreatedBy = "Admin" }, context, transaction); var createVNHome = await cate.SaveModelAsync(false, context, transaction).ConfigureAwait(false); isSucceed = createVNHome.IsSucceed; //BECategoryViewModel uscate = new BECategoryViewModel(new SiocCategory() //{ // Id = cate.Model.Id, // Title = "Home", // Specificulture = "en-us", // Template = "_Home", // Type = (int)SWCmsConstants.CateType.Home, // CreatedBy = "Admin", // CreatedDateTime = DateTime.UtcNow, //}, context, transaction); //var createUSHome = await uscate.SaveModelAsync(false, context, transaction).ConfigureAwait(false); //isSucceed = createUSHome.IsSucceed; } if (isSucceed) { transaction.Commit(); } else { transaction.Rollback(); } } result.IsSucceed = isSucceed; return(result); } catch (Exception ex) // TODO: Add more specific exeption types instead of Exception only { transaction?.Rollback(); accTransaction?.Rollback(); result.IsSucceed = false; result.Exception = ex; return(result); } finally { context?.Dispose(); accountContext?.Dispose(); } }
public async Task <RepositoryResponse <bool> > InitSWCms(InitCulture culture) { RepositoryResponse <bool> result = new RepositoryResponse <bool>(); SiocCmsContext context = null; SiocCmsAccountContext accountContext = null; IDbContextTransaction transaction = null; IDbContextTransaction accTransaction = null; bool isSucceed = true; try { if (!string.IsNullOrEmpty(CmsConfigurations.CmsConnectionString)) { context = new SiocCmsContext(); accountContext = new SiocCmsAccountContext(); await context.Database.MigrateAsync(); await accountContext.Database.MigrateAsync(); transaction = context.Database.BeginTransaction(); var countCulture = context.SiocCulture.Count(); var isInit = countCulture > 0; if (!isInit) { isSucceed = InitCultures(culture, context, transaction); isSucceed = isSucceed && InitPositions(context, transaction); isSucceed = isSucceed && InitThemes(context, transaction); isSucceed = isSucceed && InitConfigurations(culture, context, transaction); } else { isSucceed = true; } if (isSucceed && BECategoryViewModel.Repository.Count(context, transaction).Data == 0) { var cate = new SiocCategory() { Id = 1, Level = 0, Title = "Home", Specificulture = culture.Specificulture, Template = "Pages/_Home.cshtml", Type = (int)SWCmsConstants.CateType.Home, CreatedBy = "Admin", CreatedDateTime = DateTime.UtcNow, Status = (int)SWStatus.Published }; context.Entry(cate).State = EntityState.Added; var alias = new SiocUrlAlias() { Id = 1, SourceId = "1", Type = (int)SWCmsConstants.UrlAliasType.Page, Specificulture = culture.Specificulture, CreatedDateTime = DateTime.UtcNow, Alias = cate.Title.ToLower() }; context.Entry(alias).State = EntityState.Added; var createVNHome = await context.SaveChangesAsync().ConfigureAwait(false); isSucceed = createVNHome > 0; var cate404 = new SiocCategory() { Id = 2, Title = "404", Level = 0, Specificulture = culture.Specificulture, Template = "Pages/_404.cshtml", Type = (int)SWCmsConstants.CateType.Article, CreatedBy = "Admin", CreatedDateTime = DateTime.UtcNow, Status = (int)SWStatus.Published }; var alias404 = new SiocUrlAlias() { Id = 2, SourceId = "2", Type = (int)SWCmsConstants.UrlAliasType.Page, Specificulture = culture.Specificulture, CreatedDateTime = DateTime.UtcNow, Alias = cate404.Title.ToLower() }; context.Entry(cate404).State = EntityState.Added; context.Entry(alias404).State = EntityState.Added; var create404 = await context.SaveChangesAsync().ConfigureAwait(false); isSucceed = create404 > 0; } if (isSucceed) { transaction.Commit(); } else { transaction.Rollback(); } } result.IsSucceed = isSucceed; return(result); } catch (Exception ex) // TODO: Add more specific exeption types instead of Exception only { transaction?.Rollback(); accTransaction?.Rollback(); result.IsSucceed = false; result.Exception = ex; return(result); } finally { context?.Dispose(); accountContext?.Dispose(); } }
public async Task <RepositoryResponse <bool> > InitCms(string siteName, InitCulture culture) { RepositoryResponse <bool> result = new RepositoryResponse <bool>(); MixCmsContext context = null; MixCmsAccountContext accountContext = null; MixChatServiceContext messengerContext; IDbContextTransaction transaction = null; IDbContextTransaction accTransaction = null; bool isSucceed = true; try { if (!string.IsNullOrEmpty(MixService.GetConnectionString(MixConstants.CONST_CMS_CONNECTION))) { context = new MixCmsContext(); accountContext = new MixCmsAccountContext(); messengerContext = new MixChatServiceContext(); //MixChatServiceContext._cnn = MixService.GetConnectionString(MixConstants.CONST_CMS_CONNECTION); await context.Database.MigrateAsync(); await accountContext.Database.MigrateAsync(); await messengerContext.Database.MigrateAsync(); transaction = context.Database.BeginTransaction(); var countCulture = context.MixCulture.Count(); var isInit = countCulture > 0; if (!isInit) { MixService.SetConfig <string>("SiteName", siteName); isSucceed = InitCultures(culture, context, transaction); if (isSucceed) { isSucceed = isSucceed && InitPositions(context, transaction); } else { result.Errors.Add("Cannot init Cultures"); } if (isSucceed) { isSucceed = isSucceed && await InitConfigurationsAsync(siteName, culture, context, transaction); } else { result.Errors.Add("Cannot init Positions"); } if (isSucceed) { isSucceed = isSucceed && await InitLanguagesAsync(culture, context, transaction); } else { result.Errors.Add("Cannot init Configurations"); } if (isSucceed) { var initTheme = await InitThemesAsync(siteName, context, transaction); isSucceed = isSucceed && initTheme.IsSucceed; result.Errors.AddRange(initTheme.Errors); result.Exception = initTheme.Exception; } else { result.Errors.Add("Cannot init Languages"); } } else { isSucceed = true; } if (isSucceed && context.MixPage.Count() == 0) { InitPages(culture.Specificulture, context, transaction); isSucceed = (await context.SaveChangesAsync().ConfigureAwait(false)) > 0; } else { result.Errors.Add("Cannot init Themes"); } if (isSucceed) { transaction.Commit(); } else { transaction.Rollback(); } } result.IsSucceed = isSucceed; return(result); } catch (Exception ex) // TODO: Add more specific exeption types instead of Exception only { transaction?.Rollback(); accTransaction?.Rollback(); result.IsSucceed = false; result.Exception = ex; return(result); } finally { context?.Dispose(); accountContext?.Dispose(); } }