protected KeyValuePair <string, TableInfo> GetNewTableInfo(string oldTableName, TableInfo oldTableInfo, string newTableName, List <TableColumn> newColumns, Dictionary <string, string> convertKeyDict, Dictionary <string, string> convertValueDict) { if (string.IsNullOrEmpty(newTableName)) { newTableName = oldTableName; } if (newColumns == null || newColumns.Count == 0) { newColumns = oldTableInfo.Columns; } var newTableInfo = new TableInfo { Columns = newColumns, TotalCount = oldTableInfo.TotalCount, RowFiles = oldTableInfo.RowFiles }; CliUtils.PrintRow(oldTableName, newTableName, oldTableInfo.TotalCount.ToString("#,0")); var i = 0; using (var progress = new ProgressBar()) { foreach (var fileName in oldTableInfo.RowFiles) { progress.Report((double)i++ / oldTableInfo.RowFiles.Count); var oldFilePath = OldTreeInfo.GetTableContentFilePath(oldTableName, fileName); var newFilePath = NewTreeInfo.GetTableContentFilePath(newTableName, fileName); if (convertKeyDict != null) { var oldRows = TranslateUtils.JsonDeserialize <List <JObject> >(FileUtils.ReadText(oldFilePath, Encoding.UTF8)); var newRows = UpdateUtils.UpdateRows(oldRows, convertKeyDict, convertValueDict); FileUtils.WriteText(newFilePath, Encoding.UTF8, TranslateUtils.JsonSerialize(newRows)); } else { FileUtils.CopyFile(oldFilePath, newFilePath); } } } return(new KeyValuePair <string, TableInfo>(newTableName, newTableInfo)); }
public override KeyValuePair <string, TableInfo> UpdateTableInfo(string oldTableName, TableInfo oldTableInfo, List <string> contentTableNameList) { string newTableName = null; List <TableColumn> newColumns = null; Dictionary <string, string> convertKeyDict = null; Dictionary <string, string> convertValueDict = null; var oldTableNameWithoutPrefix = oldTableName.Substring(oldTableName.IndexOf("_", StringComparison.Ordinal) + 1); if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableAdministrator.OldTableName)) { newTableName = TableAdministrator.NewTableName; newColumns = TableAdministrator.NewColumns; convertKeyDict = TableAdministrator.ConvertKeyDict; convertValueDict = TableAdministrator.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableAdministratorsInRoles.OldTableName)) { newTableName = TableAdministratorsInRoles.NewTableName; newColumns = TableAdministratorsInRoles.NewColumns; convertKeyDict = TableAdministratorsInRoles.ConvertKeyDict; convertValueDict = TableAdministratorsInRoles.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableArea.OldTableName)) { newTableName = TableArea.NewTableName; newColumns = TableArea.NewColumns; convertKeyDict = TableArea.ConvertKeyDict; convertValueDict = TableArea.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableChannel.OldTableName)) { newTableName = TableChannel.NewTableName; newColumns = TableChannel.NewColumns; convertKeyDict = TableChannel.ConvertKeyDict; convertValueDict = TableChannel.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableChannelGroup.OldTableName)) { newTableName = TableChannelGroup.NewTableName; newColumns = TableChannelGroup.NewColumns; convertKeyDict = TableChannelGroup.ConvertKeyDict; convertValueDict = TableChannelGroup.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableConfig.OldTableName)) { newTableName = TableConfig.NewTableName; newColumns = TableConfig.NewColumns; convertKeyDict = TableConfig.ConvertKeyDict; convertValueDict = TableConfig.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableContentCheck.OldTableName)) { newTableName = TableContentCheck.NewTableName; newColumns = TableContentCheck.NewColumns; convertKeyDict = TableContentCheck.ConvertKeyDict; convertValueDict = TableContentCheck.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableContentGroup.OldTableName)) { newTableName = TableContentGroup.NewTableName; newColumns = TableContentGroup.NewColumns; convertKeyDict = TableContentGroup.ConvertKeyDict; convertValueDict = TableContentGroup.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableCount.OldTableName)) { newTableName = TableCount.NewTableName; newColumns = TableCount.NewColumns; convertKeyDict = TableCount.ConvertKeyDict; convertValueDict = TableCount.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableDbCache.OldTableName)) { newTableName = TableDbCache.NewTableName; newColumns = TableDbCache.NewColumns; convertKeyDict = TableDbCache.ConvertKeyDict; convertValueDict = TableDbCache.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableDepartment.OldTableName)) { newTableName = TableDepartment.NewTableName; newColumns = TableDepartment.NewColumns; convertKeyDict = TableDepartment.ConvertKeyDict; convertValueDict = TableDepartment.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableErrorLog.OldTableName)) { newTableName = TableErrorLog.NewTableName; newColumns = TableErrorLog.NewColumns; convertKeyDict = TableErrorLog.ConvertKeyDict; convertValueDict = TableErrorLog.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableKeyword.OldTableName)) { newTableName = TableKeyword.NewTableName; newColumns = TableKeyword.NewColumns; convertKeyDict = TableKeyword.ConvertKeyDict; convertValueDict = TableKeyword.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableLog.OldTableName)) { newTableName = TableLog.NewTableName; newColumns = TableLog.NewColumns; convertKeyDict = TableLog.ConvertKeyDict; convertValueDict = TableLog.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TablePermissionsInRoles.OldTableName)) { newTableName = TablePermissionsInRoles.NewTableName; newColumns = TablePermissionsInRoles.NewColumns; convertKeyDict = TablePermissionsInRoles.ConvertKeyDict; convertValueDict = TablePermissionsInRoles.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableRelatedField.OldTableName)) { newTableName = TableRelatedField.NewTableName; newColumns = TableRelatedField.NewColumns; convertKeyDict = TableRelatedField.ConvertKeyDict; convertValueDict = TableRelatedField.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableRelatedFieldItem.OldTableName)) { newTableName = TableRelatedFieldItem.NewTableName; newColumns = TableRelatedFieldItem.NewColumns; convertKeyDict = TableRelatedFieldItem.ConvertKeyDict; convertValueDict = TableRelatedFieldItem.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableRole.OldTableName)) { newTableName = TableRole.NewTableName; newColumns = TableRole.NewColumns; convertKeyDict = TableRole.ConvertKeyDict; convertValueDict = TableRole.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableSite.OldTableName)) { newTableName = TableSite.NewTableName; newColumns = TableSite.NewColumns; convertKeyDict = TableSite.ConvertKeyDict; convertValueDict = TableSite.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableSiteLog.OldTableName)) { newTableName = TableSiteLog.NewTableName; newColumns = TableSiteLog.NewColumns; convertKeyDict = TableSiteLog.ConvertKeyDict; convertValueDict = TableSiteLog.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableSitePermissions.OldTableName)) { newTableName = TableSitePermissions.NewTableName; newColumns = TableSitePermissions.NewColumns; convertKeyDict = TableSitePermissions.ConvertKeyDict; convertValueDict = TableSitePermissions.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableTable.OldTableName)) { newTableName = TableTable.NewTableName; newColumns = TableTable.NewColumns; convertKeyDict = TableTable.ConvertKeyDict; convertValueDict = TableTable.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableTableMetadata.OldTableName)) { newTableName = TableTableMetadata.NewTableName; newColumns = TableTableMetadata.NewColumns; convertKeyDict = TableTableMetadata.ConvertKeyDict; convertValueDict = TableTableMetadata.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableTableStyle.OldTableName)) { newTableName = TableTableStyle.NewTableName; newColumns = TableTableStyle.NewColumns; convertKeyDict = TableTableStyle.ConvertKeyDict; convertValueDict = TableTableStyle.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableTableStyleItem.OldTableName)) { newTableName = TableTableStyleItem.NewTableName; newColumns = TableTableStyleItem.NewColumns; convertKeyDict = TableTableStyleItem.ConvertKeyDict; convertValueDict = TableTableStyleItem.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableTag.OldTableName)) { newTableName = TableTag.NewTableName; newColumns = TableTag.NewColumns; convertKeyDict = TableTag.ConvertKeyDict; convertValueDict = TableTag.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableTemplate.OldTableName)) { newTableName = TableTemplate.NewTableName; newColumns = TableTemplate.NewColumns; convertKeyDict = TableTemplate.ConvertKeyDict; convertValueDict = TableTemplate.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableTemplateLog.OldTableName)) { newTableName = TableTemplateLog.NewTableName; newColumns = TableTemplateLog.NewColumns; convertKeyDict = TableTemplateLog.ConvertKeyDict; convertValueDict = TableTemplateLog.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableTemplateMatch.OldTableName)) { newTableName = TableTemplateMatch.NewTableName; newColumns = TableTemplateMatch.NewColumns; convertKeyDict = TableTemplateMatch.ConvertKeyDict; convertValueDict = TableTemplateMatch.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableUser.OldTableName)) { newTableName = TableUser.NewTableName; newColumns = TableUser.NewColumns; convertKeyDict = TableUser.ConvertKeyDict; convertValueDict = TableUser.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableUserLog.OldTableName)) { newTableName = TableUserLog.NewTableName; newColumns = TableUserLog.NewColumns; convertKeyDict = TableUserLog.ConvertKeyDict; convertValueDict = TableUserLog.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableGovInteractChannel.OldTableName)) { newTableName = TableGovInteractChannel.NewTableName; newColumns = TableGovInteractChannel.NewColumns; convertKeyDict = TableGovInteractChannel.ConvertKeyDict; convertValueDict = TableGovInteractChannel.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableGovInteractLog.OldTableName)) { newTableName = TableGovInteractLog.NewTableName; newColumns = TableGovInteractLog.NewColumns; convertKeyDict = TableGovInteractLog.ConvertKeyDict; convertValueDict = TableGovInteractLog.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableGovInteractPermissions.OldTableName)) { newTableName = TableGovInteractPermissions.NewTableName; newColumns = TableGovInteractPermissions.NewColumns; convertKeyDict = TableGovInteractPermissions.ConvertKeyDict; convertValueDict = TableGovInteractPermissions.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableGovInteractRemark.OldTableName)) { newTableName = TableGovInteractRemark.NewTableName; newColumns = TableGovInteractRemark.NewColumns; convertKeyDict = TableGovInteractRemark.ConvertKeyDict; convertValueDict = TableGovInteractRemark.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableGovInteractReply.OldTableName)) { newTableName = TableGovInteractReply.NewTableName; newColumns = TableGovInteractReply.NewColumns; convertKeyDict = TableGovInteractReply.ConvertKeyDict; convertValueDict = TableGovInteractReply.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableGovInteractType.OldTableName)) { newTableName = TableGovInteractType.NewTableName; newColumns = TableGovInteractType.NewColumns; convertKeyDict = TableGovInteractType.ConvertKeyDict; convertValueDict = TableGovInteractType.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableGovPublicCategory.OldTableName)) { newTableName = TableGovPublicCategory.NewTableName; newColumns = TableGovPublicCategory.NewColumns; convertKeyDict = TableGovPublicCategory.ConvertKeyDict; convertValueDict = TableGovPublicCategory.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableGovPublicCategoryClass.OldTableName)) { newTableName = TableGovPublicCategoryClass.NewTableName; newColumns = TableGovPublicCategoryClass.NewColumns; convertKeyDict = TableGovPublicCategoryClass.ConvertKeyDict; convertValueDict = TableGovPublicCategoryClass.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableGovPublicIdentifierRule.OldTableName)) { newTableName = TableGovPublicIdentifierRule.NewTableName; newColumns = TableGovPublicIdentifierRule.NewColumns; convertKeyDict = TableGovPublicIdentifierRule.ConvertKeyDict; convertValueDict = TableGovPublicIdentifierRule.ConvertValueDict; } else if (StringUtils.EqualsIgnoreCase(oldTableNameWithoutPrefix, TableGovPublicIdentifierSeq.OldTableName)) { newTableName = TableGovPublicIdentifierSeq.NewTableName; newColumns = TableGovPublicIdentifierSeq.NewColumns; convertKeyDict = TableGovPublicIdentifierSeq.ConvertKeyDict; convertValueDict = TableGovPublicIdentifierSeq.ConvertValueDict; } else if (StringUtils.ContainsIgnoreCase(contentTableNameList, oldTableName)) { newTableName = UpdateUtils.GetContentTableName(oldTableName); newColumns = TableContent.GetNewColumns(oldTableInfo.Columns); convertKeyDict = TableContent.ConvertKeyDict; convertValueDict = TableContent.ConvertValueDict; } return(GetNewTableInfo(oldTableName, oldTableInfo, newTableName, newColumns, convertKeyDict, convertValueDict)); }
public async Task UpdateSplitContentsTableInfoAsync(Dictionary <int, TableInfo> splitSiteTableDict, List <int> siteIdList, string oldTableName, TableInfo oldTableInfo, ConvertInfo converter) { if (converter == null) { converter = new ConvertInfo(); } if (converter.IsAbandon) { await CliUtils.PrintRowAsync(oldTableName, "Abandon", "--"); return; } if (converter.NewColumns == null || converter.NewColumns.Count == 0) { converter.NewColumns = oldTableInfo.Columns; } await CliUtils.PrintRowAsync(oldTableName, "#split-content#", oldTableInfo.TotalCount.ToString("#,0")); if (oldTableInfo.RowFiles.Count > 0) { var i = 0; using (var progress = new ProgressBar()) { foreach (var fileName in oldTableInfo.RowFiles) { progress.Report((double)i++ / oldTableInfo.RowFiles.Count); var newRows = new List <Dictionary <string, object> >(); var oldFilePath = OldTreeInfo.GetTableContentFilePath(oldTableName, fileName); var oldRows = TranslateUtils.JsonDeserialize <List <JObject> >(await FileUtils.ReadTextAsync(oldFilePath, Encoding.UTF8)); newRows.AddRange(UpdateUtils.UpdateRows(oldRows, converter.ConvertKeyDict, converter.ConvertValueDict)); var siteIdWithRows = new Dictionary <int, List <Dictionary <string, object> > >(); foreach (var siteId in siteIdList) { siteIdWithRows.Add(siteId, new List <Dictionary <string, object> >()); } foreach (var newRow in newRows) { if (newRow.ContainsKey(nameof(CMS.Model.ContentInfo.SiteId))) { var siteId = Convert.ToInt32(newRow[nameof(CMS.Model.ContentInfo.SiteId)]); if (siteIdList.Contains(siteId)) { var rows = siteIdWithRows[siteId]; rows.Add(newRow); } } } foreach (var siteId in siteIdList) { var siteRows = siteIdWithRows[siteId]; var siteTableName = ContentDao.GetContentTableName(siteId); var siteTableInfo = splitSiteTableDict[siteId]; siteTableInfo.TotalCount += siteRows.Count; foreach (var tableColumn in converter.NewColumns) { if (!siteTableInfo.Columns.Any(t => StringUtils.EqualsIgnoreCase(t.AttributeName, tableColumn.AttributeName))) { siteTableInfo.Columns.Add(tableColumn); } } if (siteRows.Count > 0) { var siteTableFileName = $"{siteTableInfo.RowFiles.Count + 1}.json"; siteTableInfo.RowFiles.Add(siteTableFileName); var filePath = NewTreeInfo.GetTableContentFilePath(siteTableName, siteTableFileName); await FileUtils.WriteTextAsync(filePath, Encoding.UTF8, TranslateUtils.JsonSerialize(siteRows)); } } } } } }
public async Task <Tuple <string, TableInfo> > GetNewTableInfoAsync(string oldTableName, TableInfo oldTableInfo, ConvertInfo converter) { if (converter == null) { converter = new ConvertInfo(); } if (converter.IsAbandon) { await CliUtils.PrintRowAsync(oldTableName, "Abandon", "--"); return(null); } if (string.IsNullOrEmpty(converter.NewTableName)) { converter.NewTableName = oldTableName; } if (converter.NewColumns == null || converter.NewColumns.Count == 0) { converter.NewColumns = oldTableInfo.Columns; } var newTableInfo = new TableInfo { Columns = converter.NewColumns, TotalCount = oldTableInfo.TotalCount, RowFiles = oldTableInfo.RowFiles }; await CliUtils.PrintRowAsync(oldTableName, converter.NewTableName, oldTableInfo.TotalCount.ToString("#,0")); if (oldTableInfo.RowFiles.Count > 0) { var i = 0; using (var progress = new ProgressBar()) { foreach (var fileName in oldTableInfo.RowFiles) { progress.Report((double)i++ / oldTableInfo.RowFiles.Count); var oldFilePath = OldTreeInfo.GetTableContentFilePath(oldTableName, fileName); var newFilePath = NewTreeInfo.GetTableContentFilePath(converter.NewTableName, fileName); if (converter.ConvertKeyDict != null) { var oldRows = TranslateUtils.JsonDeserialize <List <JObject> >(await FileUtils.ReadTextAsync(oldFilePath, Encoding.UTF8)); var newRows = UpdateUtils.UpdateRows(oldRows, converter.ConvertKeyDict, converter.ConvertValueDict); await FileUtils.WriteTextAsync(newFilePath, Encoding.UTF8, TranslateUtils.JsonSerialize(newRows)); } else { FileUtils.CopyFile(oldFilePath, newFilePath); } } } } return(new Tuple <string, TableInfo>(converter.NewTableName, newTableInfo)); }
protected bool GetNewTableInfo(string oldTableName, TableInfo oldTableInfo, ConvertInfo converter, out string newTableName, out TableInfo newTableInfo) { newTableName = null; newTableInfo = null; if (converter == null) { converter = new ConvertInfo(); } if (converter.IsAbandon) { CliUtils.PrintRow(oldTableName, "Abandon", "--"); return(false); } if (string.IsNullOrEmpty(converter.NewTableName)) { converter.NewTableName = oldTableName; } if (converter.NewColumns == null || converter.NewColumns.Count == 0) { converter.NewColumns = oldTableInfo.Columns; } newTableInfo = new TableInfo { Columns = converter.NewColumns, TotalCount = oldTableInfo.TotalCount, RowFiles = oldTableInfo.RowFiles }; CliUtils.PrintRow(oldTableName, converter.NewTableName, oldTableInfo.TotalCount.ToString("#,0")); var i = 0; using (var progress = new ProgressBar()) { foreach (var fileName in oldTableInfo.RowFiles) { progress.Report((double)i++ / oldTableInfo.RowFiles.Count); var oldFilePath = OldTreeInfo.GetTableContentFilePath(oldTableName, fileName); var newFilePath = NewTreeInfo.GetTableContentFilePath(converter.NewTableName, fileName); if (converter.ConvertKeyDict != null) { var oldRows = TranslateUtils.JsonDeserialize <List <JObject> >(FileUtils.ReadText(oldFilePath, Encoding.UTF8)); var newRows = UpdateUtils.UpdateRows(oldRows, converter.ConvertKeyDict, converter.ConvertValueDict); FileUtils.WriteText(newFilePath, Encoding.UTF8, TranslateUtils.JsonSerialize(newRows)); } else { FileUtils.CopyFile(oldFilePath, newFilePath); } } } newTableName = converter.NewTableName; return(true); }