public List <NavUserRoleViewModel> GetRoleNavs() { using (SiocCmsAccountContext context = new SiocCmsAccountContext()) { var query = context.AspNetRoles .Include(cp => cp.AspNetUserRoles) .Select(p => new NavUserRoleViewModel() { UserId = Id, RoleId = p.Id, Specificulture = Specificulture, Description = p.Name, IsActived = context.AspNetUserRoles.Any(m => m.UserId == Id && m.RoleId == p.Id) }); return(query.OrderBy(m => m.Priority).ToList()); } }
private async Task <bool> InitUsersAsync(SiocCmsAccountContext context, IDbContextTransaction transaction, UserManager <ApplicationUser> userManager) { bool isSucceed = true; var getUsers = await UserViewModel.Repository.GetModelListAsync(context, transaction); if (getUsers.IsSucceed && getUsers.Data.Count == 0) { var user = new ApplicationUser() { UserName = "******", Email = "*****@*****.**", }; var saveResult = await userManager.CreateAsync(user, "123123"); await userManager.AddToRoleAsync(user, "SuperAdmin"); isSucceed = saveResult.Succeeded; } return(isSucceed); }
public void InitSWCms() { SiocCmsContext context = null; SiocCmsAccountContext accountContext = null; IDbContextTransaction transaction = null; try { if (InitConnectionString()) { context = new SiocCmsContext(); accountContext = new SiocCmsAccountContext(); context.Database.Migrate(); accountContext.Database.Migrate(); transaction = context.Database.BeginTransaction(); bool isSucceed = true; //var getConnectionString = BEParameterViewModel.Repository.GetSingleModel( // c => c.Name == SWCmsConstants.ConfigurationKeyword.ConnectionString, // _context: context, _transaction: transaction); //if (!getConnectionString.IsSucceed) //{ // BEParameterViewModel cnn = new BEParameterViewModel() // { // Name = SWCmsConstants.ConfigurationKeyword.ConnectionString, // Value = ConnectionString, // Description = SWCmsConstants.ConfigurationType.System // }; // cnn.SaveModel(_context: context, _transaction: transaction); //} // EN-US var getCulture = BECultureViewModel.Repository.GetSingleModel( c => c.Specificulture == "en-us", _context: context, _transaction: transaction); if (!getCulture.IsSucceed) { BECultureViewModel cultureViewModel = new BECultureViewModel() { Specificulture = "en-us", FullName = "United States", Description = "United States", Icon = "flag-icon-us", Alias = "US" }; isSucceed = isSucceed && cultureViewModel.SaveModel(_context: context, _transaction: transaction).IsSucceed; } // VI-VN getCulture = BECultureViewModel.Repository.GetSingleModel( c => c.Specificulture == "vi-vn", _context: context, _transaction: transaction); if (!getCulture.IsSucceed) { BECultureViewModel cultureViewModel = new BECultureViewModel() { Specificulture = "vi-vn", FullName = "Vietnam", Description = "Việt Nam", Icon = "flag-icon-vn", Alias = "VN" }; isSucceed = isSucceed && cultureViewModel.SaveModel(_context: context, _transaction: transaction).IsSucceed; } var getPosition = BEPositionViewModel.Repository.GetModelList(_context: context, _transaction: transaction); if (isSucceed && (!getPosition.IsSucceed || getPosition.Data.Count == 0)) { BEPositionViewModel p = new BEPositionViewModel() { Description = nameof(SWCmsConstants.CatePosition.Nav) }; isSucceed = isSucceed && p.SaveModel(_context: context, _transaction: transaction).IsSucceed; p = new BEPositionViewModel() { Description = nameof(SWCmsConstants.CatePosition.Top) }; isSucceed = isSucceed && p.SaveModel(_context: context, _transaction: transaction).IsSucceed; p = new BEPositionViewModel() { Description = nameof(SWCmsConstants.CatePosition.Left) }; isSucceed = isSucceed && p.SaveModel(_context: context, _transaction: transaction).IsSucceed; p = new BEPositionViewModel() { Description = nameof(SWCmsConstants.CatePosition.Footer) }; isSucceed = isSucceed && p.SaveModel(_context: context, _transaction: transaction).IsSucceed; } var getThemes = BEThemeViewModel.Repository.GetModelList(_context: context, _transaction: transaction); if (isSucceed && getThemes.IsSucceed) { if (getThemes.Data.Count == 0) { BEThemeViewModel theme = new BEThemeViewModel(new SiocTheme() { Name = "Default", CreatedBy = "Admin" }) { IsActived = true, Specificulture = "vi-vn" }; isSucceed = isSucceed && theme.SaveModel(true, context, transaction).IsSucceed; if (isSucceed) { ConfigurationViewModel config = (ConfigurationViewModel.Repository.GetSingleModel( c => c.Keyword == SWCmsConstants.ConfigurationKeyword.Theme && c.Specificulture == "vi-vn", context, transaction)).Data; if (config == null) { config = new ConfigurationViewModel() { Keyword = SWCmsConstants.ConfigurationKeyword.Theme, Specificulture = "vi-vn", Category = SWCmsConstants.ConfigurationType.User, DataType = SWCmsConstants.DataType.String, Description = "Cms Theme", Value = "" }; } else { config.Value = theme.Name; } isSucceed = isSucceed && config.SaveModel(false, context, transaction).IsSucceed; } if (isSucceed) { ConfigurationViewModel config = (ConfigurationViewModel.Repository.GetSingleModel( c => c.Keyword == SWCmsConstants.ConfigurationKeyword.ThemeId && c.Specificulture == "vi-vn", context, transaction)).Data; if (config == null) { config = new ConfigurationViewModel() { Keyword = SWCmsConstants.ConfigurationKeyword.Theme, Specificulture = "vi-vn", Category = SWCmsConstants.ConfigurationType.User, DataType = SWCmsConstants.DataType.String, Description = "Cms Theme", Value = theme.Model.Id.ToString() }; } else { config.Value = theme.Model.Id.ToString(); } isSucceed = isSucceed && config.SaveModel(false, context, transaction).IsSucceed; } if (isSucceed) { ConfigurationViewModel config = (ConfigurationViewModel.Repository.GetSingleModel( c => c.Keyword == SWCmsConstants.ConfigurationKeyword.Theme && c.Specificulture == "en-us", context, transaction)).Data; if (config == null) { config = new ConfigurationViewModel() { Keyword = SWCmsConstants.ConfigurationKeyword.Theme, Specificulture = "en-us", Category = SWCmsConstants.ConfigurationType.User, DataType = SWCmsConstants.DataType.String, Description = "Cms Theme", Value = theme.Name }; } else { config.Value = Name; } isSucceed = isSucceed && config.SaveModel(false, context, transaction).IsSucceed; } if (isSucceed) { ConfigurationViewModel config = (ConfigurationViewModel.Repository.GetSingleModel( c => c.Keyword == SWCmsConstants.ConfigurationKeyword.ThemeId && c.Specificulture == "en-us", context, transaction)).Data; if (config == null) { config = new ConfigurationViewModel() { Keyword = SWCmsConstants.ConfigurationKeyword.ThemeId, Specificulture = "en-us", Category = SWCmsConstants.ConfigurationType.User, DataType = SWCmsConstants.DataType.String, Description = "Cms Theme", Value = theme.Model.Id.ToString() }; } else { config.Value = theme.Model.Id.ToString(); } isSucceed = isSucceed && config.SaveModel(false, context, transaction).IsSucceed; } if (isSucceed) { InitConfigurations(context, transaction); } } else { foreach (var theme in getThemes.Data) { string folderPath = CommonHelper.GetFullPath(new string[] { SWCmsConstants.Parameters.TemplatesFolder, theme.Name }); var delFolder = FileRepository.Instance.DeleteFolder(folderPath); foreach (var item in theme.Templates) { try { isSucceed = isSucceed && item.SaveModel(true, _context: context, _transaction: transaction).IsSucceed; } catch { } } } } } if (isSucceed) { BECategoryViewModel cate = new BECategoryViewModel(new SiocCategory() { Title = "Home", Specificulture = "vi-vn", Template = "_Home", Type = (int)SWCmsConstants.CateType.Home, CreatedBy = "Admin" }); isSucceed = isSucceed && cate.SaveModel(false, context, transaction).IsSucceed; BECategoryViewModel uscate = new BECategoryViewModel(new SiocCategory() { Title = "Home", Specificulture = "en-us", Template = "_Home", Type = (int)SWCmsConstants.CateType.Home, CreatedBy = "Admin" }); isSucceed = isSucceed && uscate.SaveModel(false, context, transaction).IsSucceed; } if (isSucceed) { GlobalLanguageService.Instance.RefreshCultures(context, transaction); transaction.Commit(); IsInit = true; } else { transaction.Rollback(); IsInit = false; } } } catch (Exception ex) // TODO: Add more specific exeption types instead of Exception only { IsInit = false; transaction?.Rollback(); throw ex; } 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) { 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(UserManager <ApplicationUser> userManager, RoleManager <IdentityRole> roleManager) { 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 getCulture = await BECultureViewModel.Repository.GetModelListAsync(_context : context, _transaction : transaction); var isInit = getCulture.IsSucceed && getCulture.Data.Count > 0; if (!isInit) { isSucceed = InitCultures(context, transaction); isSucceed = isSucceed && InitPositions(context, transaction); isSucceed = isSucceed && InitThemes(context, transaction); isSucceed = isSucceed && InitConfigurations(context, transaction); } else { isSucceed = true; } if (isSucceed && BECategoryViewModel.Repository.Count(context, transaction).Data == 0) { BECategoryViewModel cate = new BECategoryViewModel(new SiocCategory() { Title = "Home", Specificulture = "vi-vn", Template = "_Home", Type = (int)SWCmsConstants.CateType.Home, CreatedBy = "Admin" }, context, transaction); isSucceed = cate.SaveModel(false, context, transaction).IsSucceed; BECategoryViewModel uscate = new BECategoryViewModel(new SiocCategory() { Title = "Home", Specificulture = "en-us", Template = "_Home", Type = (int)SWCmsConstants.CateType.Home, CreatedBy = "Admin", }, context, transaction); isSucceed = isSucceed && uscate.SaveModel(false, context, transaction).IsSucceed; } if (isSucceed) { GlobalConfigurationService.Instance.RefreshAll(context, transaction); 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 void InitSWCms() { SiocCmsContext context = null; SiocCmsAccountContext accountContext = null; IDbContextTransaction transaction = null; try { if (InitConnectionString()) { context = new SiocCmsContext(); accountContext = new SiocCmsAccountContext(); context.Database.Migrate(); accountContext.Database.Migrate(); transaction = context.Database.BeginTransaction(); var getConnectionString = BEParameterViewModel.Repository.GetSingleModel( c => c.Name == SWCmsConstants.ConfigurationKeyword.ConnectionString, _context: context, _transaction: transaction); if (!getConnectionString.IsSucceed) { BEParameterViewModel cnn = new BEParameterViewModel() { Name = SWCmsConstants.ConfigurationKeyword.ConnectionString, Value = ConnectionString, Description = SWCmsConstants.ConfigurationType.System }; cnn.SaveModel(_context: context, _transaction: transaction); } // EN-US var getCulture = BECultureViewModel.Repository.GetSingleModel( c => c.Specificulture == "en-us", _context: context, _transaction: transaction); if (!getCulture.IsSucceed) { BECultureViewModel cultureViewModel = new BECultureViewModel() { Specificulture = "en-us", FullName = "United States", Description = "United States", Icon = "flag-icon-us", Alias = "US" }; cultureViewModel.SaveModel(_context: context, _transaction: transaction); } // VI-VN getCulture = BECultureViewModel.Repository.GetSingleModel( c => c.Specificulture == "vi-vn", _context: context, _transaction: transaction); if (!getCulture.IsSucceed) { BECultureViewModel cultureViewModel = new BECultureViewModel() { Specificulture = "vi-vn", FullName = "Vietnam", Description = "Việt Nam", Icon = "flag-icon-vn", Alias = "VN" }; cultureViewModel.SaveModel(_context: context, _transaction: transaction); } var getPosition = BEPositionViewModel.Repository.GetModelList(_context: context, _transaction: transaction); if (!getPosition.IsSucceed || getPosition.Data.Count == 0) { BEPositionViewModel p = new BEPositionViewModel() { Description = nameof(SWCmsConstants.CatePosition.Top) }; p.SaveModel(_context: context, _transaction: transaction); p = new BEPositionViewModel() { Description = nameof(SWCmsConstants.CatePosition.Left) }; p.SaveModel(_context: context, _transaction: transaction); p = new BEPositionViewModel() { Description = nameof(SWCmsConstants.CatePosition.Footer) }; p.SaveModel(_context: context, _transaction: transaction); } var getThemes = BEThemeViewModel.Repository.GetModelList(_context: context, _transaction: transaction); if (getThemes.IsSucceed) { if (getThemes.Data.Count == 0) { BEThemeViewModel theme = new BEThemeViewModel(new SiocTheme() { Name = "Default", CreatedBy = "Admin" }) { IsActived = true }; theme.SaveModel(true, context, transaction); } else { foreach (var theme in getThemes.Data) { string folderPath = CommonHelper.GetFullPath(new string[] { SWCmsConstants.Parameters.TemplatesFolder, theme.Name }); var delFolder = FileRepository.Instance.DeleteFolder(folderPath); foreach (var item in theme.Templates) { try { item.SaveModel(true, _context: context, _transaction: transaction); } catch { } } } } } GlobalLanguageService.Instance.RefreshCultures(context, transaction); InitConfigurations(context, transaction); transaction.Commit(); IsInit = true; } } catch (Exception ex) // TODO: Add more specific exeption types instead of Exception only { IsInit = false; transaction?.Rollback(); throw ex; } 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(); } }