public void Insert(AuxiliaryTableInfo info) { var insertParms = new IDataParameter[] { GetParameter(ParmTableEnname, EDataType.VarChar, 50, info.TableEnName), GetParameter(ParmTableCnname, EDataType.NVarChar, 50, info.TableCnName), GetParameter(ParmAttributeNum, EDataType.Integer, info.AttributeNum), GetParameter(ParmTableType, EDataType.VarChar, 50, EAuxiliaryTableTypeUtils.GetValue(info.AuxiliaryTableType)), GetParameter(ParmIsCreatedInDb, EDataType.VarChar, 18, false.ToString()), GetParameter(ParmIsChangedAfterCreatedInDb, EDataType.VarChar, 18, false.ToString()), GetParameter(ParmIsDefault, EDataType.VarChar, 18, info.IsDefault.ToString()), GetParameter(ParmDescription, EDataType.NText, info.Description) }; using (var conn = GetConnection()) { conn.Open(); using (var trans = conn.BeginTransaction()) { try { ExecuteNonQuery(trans, SqlInsertTable, insertParms); BaiRongDataProvider.TableMetadataDao.InsertSystemItems(info.TableEnName, info.AuxiliaryTableType, trans); TableManager.IsChanged = true; trans.Commit(); } catch { trans.Rollback(); throw; } } } }
public List <AuxiliaryTableInfo> GetAuxiliaryTableListCreatedInDbByAuxiliaryTableType(params EAuxiliaryTableType[] eAuxiliaryTableTypeArray) { var auxiliaryTableTypeList = new List <string>(); foreach (var eAuxiliaryTableType in eAuxiliaryTableTypeArray) { auxiliaryTableTypeList.Add(EAuxiliaryTableTypeUtils.GetValue(eAuxiliaryTableType)); } string sqlString = $"SELECT TableENName, TableCNName, AttributeNum, AuxiliaryTableType, IsCreatedInDB, IsChangedAfterCreatedInDB, IsDefault, Description FROM bairong_TableCollection WHERE AuxiliaryTableType IN ({TranslateUtils.ToSqlInStringWithQuote(auxiliaryTableTypeList)}) AND IsCreatedInDB = '{true}' ORDER BY IsCreatedInDB DESC, TableENName"; var list = new List <AuxiliaryTableInfo>(); using (var rdr = ExecuteReader(sqlString)) { while (rdr.Read()) { var i = 0; var info = new AuxiliaryTableInfo(GetString(rdr, i++), GetString(rdr, i++), GetInt(rdr, i++), EAuxiliaryTableTypeUtils.GetEnumType(GetString(rdr, i++)), GetBool(rdr, i++), GetBool(rdr, i++), GetBool(rdr, i++), GetString(rdr, i)); list.Add(info); } rdr.Close(); } return(list); }
public override void Submit_OnClick(object sender, EventArgs e) { if (Page.IsPostBack && Page.IsValid) { if (Body.IsQueryExists("ENName")) { var tableEnName = Body.GetQueryString("ENName"); var info = BaiRongDataProvider.TableCollectionDao.GetAuxiliaryTableInfo(tableEnName); info.TableCnName = TableCNName.Text; info.Description = Description.Text; try { BaiRongDataProvider.TableCollectionDao.Update(info); Body.AddAdminLog("修改辅助表", $"辅助表:{tableEnName}"); SuccessMessage("辅助表修改成功!"); } catch (Exception ex) { FailMessage(ex, "辅助表修改失败!"); } } else { var TableENNameList = BaiRongDataProvider.TableCollectionDao.GetTableEnNameList(); if (TableENNameList.IndexOf(TableENName.Text) != -1) { FailMessage("辅助表添加失败,辅助表标识已存在!"); } else if (BaiRongDataProvider.TableStructureDao.IsTableExists(TableENName.Text)) { FailMessage("辅助表添加失败,数据库中已存在此表!"); } else { var info = new AuxiliaryTableInfo(); info.TableEnName = TableENName.Text; info.TableCnName = TableCNName.Text; info.Description = Description.Text; info.AuxiliaryTableType = EAuxiliaryTableTypeUtils.GetEnumType(AuxiliaryTableType.SelectedValue); try { BaiRongDataProvider.TableCollectionDao.Insert(info); Body.AddAdminLog("添加辅助表", $"辅助表:{TableENName.Text}"); SuccessMessage("辅助表添加成功!"); } catch (Exception ex) { FailMessage(ex, "辅助表添加失败!"); } } } } }
private static AtomFeed GetAtomFeed(AuxiliaryTableInfo tableInfo) { var feed = AtomUtility.GetEmptyFeed(); AtomUtility.AddDcElement(feed.AdditionalElements, "TableENName", tableInfo.TableEnName); AtomUtility.AddDcElement(feed.AdditionalElements, "TableCNName", tableInfo.TableCnName); AtomUtility.AddDcElement(feed.AdditionalElements, "AttributeNum", tableInfo.AttributeNum.ToString()); AtomUtility.AddDcElement(feed.AdditionalElements, "AuxiliaryTableType", EAuxiliaryTableTypeUtils.GetValue(tableInfo.AuxiliaryTableType)); AtomUtility.AddDcElement(feed.AdditionalElements, "IsCreatedInDB", tableInfo.IsCreatedInDb.ToString()); AtomUtility.AddDcElement(feed.AdditionalElements, "IsChangedAfterCreatedInDB", tableInfo.IsChangedAfterCreatedInDb.ToString()); AtomUtility.AddDcElement(feed.AdditionalElements, "Description", tableInfo.Description); //表唯一序列号 AtomUtility.AddDcElement(feed.AdditionalElements, "SerializedString", TableManager.GetSerializedString(tableInfo.TableEnName)); return(feed); }
public void Update(AuxiliaryTableInfo info) { var updateParms = new IDataParameter[] { GetParameter(ParmTableCnname, EDataType.NVarChar, 50, info.TableCnName), GetParameter(ParmAttributeNum, EDataType.Integer, info.AttributeNum), GetParameter(ParmTableType, EDataType.VarChar, 50, EAuxiliaryTableTypeUtils.GetValue(info.AuxiliaryTableType)), GetParameter(ParmIsCreatedInDb, EDataType.VarChar, 18, info.IsCreatedInDb.ToString()), GetParameter(ParmIsChangedAfterCreatedInDb, EDataType.VarChar, 18, info.IsChangedAfterCreatedInDb.ToString()), GetParameter(ParmIsDefault, EDataType.VarChar, 18, info.IsDefault.ToString()), GetParameter(ParmDescription, EDataType.NText, info.Description), GetParameter(ParmTableEnname, EDataType.VarChar, 50, info.TableEnName) }; ExecuteNonQuery(SqlUpdateTable, updateParms); }
public void CreateAllAuxiliaryTableIfNotExists() { //添加后台内容表 if (!IsTableExists(EAuxiliaryTableType.BackgroundContent)) { var tableName = EAuxiliaryTableTypeUtils.GetDefaultTableName(EAuxiliaryTableType.BackgroundContent); var tableInfo = new AuxiliaryTableInfo(tableName, "后台内容表", 0, EAuxiliaryTableType.BackgroundContent, false, false, true, string.Empty); BaiRongDataProvider.TableCollectionDao.Insert(tableInfo); BaiRongDataProvider.TableMetadataDao.CreateAuxiliaryTable(tableInfo.TableEnName); } //添加招聘内容表 if (!IsTableExists(EAuxiliaryTableType.JobContent)) { var tableName = EAuxiliaryTableTypeUtils.GetDefaultTableName(EAuxiliaryTableType.JobContent); var tableInfo = new AuxiliaryTableInfo(tableName, "招聘内容表", 0, EAuxiliaryTableType.JobContent, false, false, true, string.Empty); BaiRongDataProvider.TableCollectionDao.Insert(tableInfo); BaiRongDataProvider.TableMetadataDao.CreateAuxiliaryTable(tableInfo.TableEnName); } //添加投票内容表 if (!IsTableExists(EAuxiliaryTableType.VoteContent)) { var tableName = EAuxiliaryTableTypeUtils.GetDefaultTableName(EAuxiliaryTableType.VoteContent); var tableInfo = new AuxiliaryTableInfo(tableName, "投票内容表", 0, EAuxiliaryTableType.VoteContent, false, false, true, string.Empty); BaiRongDataProvider.TableCollectionDao.Insert(tableInfo); BaiRongDataProvider.TableMetadataDao.CreateAuxiliaryTable(tableInfo.TableEnName); } //添加信息公开内容表 if (!IsTableExists(EAuxiliaryTableType.GovPublicContent)) { var tableName = EAuxiliaryTableTypeUtils.GetDefaultTableName(EAuxiliaryTableType.GovPublicContent); var tableInfo = new AuxiliaryTableInfo(tableName, "信息公开内容表", 0, EAuxiliaryTableType.GovPublicContent, false, false, true, string.Empty); BaiRongDataProvider.TableCollectionDao.Insert(tableInfo); BaiRongDataProvider.TableMetadataDao.CreateAuxiliaryTable(tableInfo.TableEnName); } //添加互动交流内容表 if (!IsTableExists(EAuxiliaryTableType.GovInteractContent)) { var tableName = EAuxiliaryTableTypeUtils.GetDefaultTableName(EAuxiliaryTableType.GovInteractContent); var tableInfo = new AuxiliaryTableInfo(tableName, "互动交流内容表", 0, EAuxiliaryTableType.GovInteractContent, false, false, true, string.Empty); BaiRongDataProvider.TableCollectionDao.Insert(tableInfo); BaiRongDataProvider.TableMetadataDao.CreateAuxiliaryTable(tableInfo.TableEnName); } }
public List <AuxiliaryTableInfo> GetAuxiliaryTableListCreatedInDb() { var list = new List <AuxiliaryTableInfo>(); string sqlString = $"SELECT TableENName, TableCNName, AttributeNum, AuxiliaryTableType, IsCreatedInDB, IsChangedAfterCreatedInDB, IsDefault, Description FROM bairong_TableCollection WHERE IsCreatedInDB = '{true}' ORDER BY IsCreatedInDB DESC, TableENName"; using (var rdr = ExecuteReader(sqlString)) { while (rdr.Read()) { var i = 0; var info = new AuxiliaryTableInfo(GetString(rdr, i++), GetString(rdr, i++), GetInt(rdr, i++), EAuxiliaryTableTypeUtils.GetEnumType(GetString(rdr, i++)), GetBool(rdr, i++), GetBool(rdr, i++), GetBool(rdr, i++), GetString(rdr, i)); list.Add(info); } rdr.Close(); } return(list); }
public AuxiliaryTableInfo GetAuxiliaryTableInfo(string tableEnName) { AuxiliaryTableInfo info = null; var parms = new IDataParameter[] { GetParameter(ParmTableEnname, EDataType.VarChar, 50, tableEnName) }; using (var rdr = ExecuteReader(SqlSelectTable, parms)) { if (rdr.Read()) { var i = 0; info = new AuxiliaryTableInfo(GetString(rdr, i++), GetString(rdr, i++), GetInt(rdr, i++), EAuxiliaryTableTypeUtils.GetEnumType(GetString(rdr, i++)), GetBool(rdr, i++), GetBool(rdr, i++), GetBool(rdr, i++), GetString(rdr, i)); } rdr.Close(); } return(info); }
/// <summary> /// 将频道模板中的辅助表导入发布系统中,返回修改了的表名对照 /// 在导入辅助表的同时检查发布系统辅助表并替换对应表 /// </summary> public NameValueCollection ImportAuxiliaryTables(int publishmentSystemId, bool isUserTables) { if (!DirectoryUtils.IsDirectoryExists(_directoryPath)) { return(null); } var publishmentSystemInfo = PublishmentSystemManager.GetPublishmentSystemInfo(publishmentSystemId); var nameValueCollection = new NameValueCollection(); var tableNamePrefix = publishmentSystemInfo.PublishmentSystemDir + "_"; var filePaths = DirectoryUtils.GetFilePaths(_directoryPath); foreach (var filePath in filePaths) { var feed = AtomFeed.Load(FileUtils.GetFileStreamReadOnly(filePath)); var tableName = AtomUtility.GetDcElementContent(feed.AdditionalElements, "TableENName"); var tableType = EAuxiliaryTableTypeUtils.GetEnumType(AtomUtility.GetDcElementContent(feed.AdditionalElements, "AuxiliaryTableType")); if (!isUserTables) { nameValueCollection[tableName] = NodeManager.GetTableName(publishmentSystemInfo, tableType); continue; } var tableCnName = AtomUtility.GetDcElementContent(feed.AdditionalElements, "TableCNName"); var serializedString = AtomUtility.GetDcElementContent(feed.AdditionalElements, "SerializedString"); var tableNameToInsert = string.Empty;//需要增加的表名,空代表不需要添加辅助表 var tableInfo = BaiRongDataProvider.TableCollectionDao.GetAuxiliaryTableInfo(tableName); if (tableInfo == null)//如果当前系统无此表名 { tableNameToInsert = tableName; } else { var serializedStringForExistTable = TableManager.GetSerializedString(tableName); if (!string.IsNullOrEmpty(serializedString)) { if (serializedString != serializedStringForExistTable)//仅有此时,导入表需要修改表名 { tableNameToInsert = tableNamePrefix + tableName; tableCnName = tableNamePrefix + tableCnName; nameValueCollection[tableName] = tableNameToInsert; } } } if (!string.IsNullOrEmpty(tableNameToInsert))//需要添加 { if (!BaiRongDataProvider.TableStructureDao.IsTableExists(tableNameToInsert)) { tableInfo = new AuxiliaryTableInfo { TableEnName = tableNameToInsert, TableCnName = tableCnName, AttributeNum = 0, AuxiliaryTableType = tableType, IsCreatedInDb = false, IsChangedAfterCreatedInDb = false, Description = AtomUtility.GetDcElementContent(feed.AdditionalElements, "Description") }; BaiRongDataProvider.TableCollectionDao.Insert(tableInfo); var tableStyle = EAuxiliaryTableTypeUtils.GetTableStyle(tableInfo.AuxiliaryTableType); var attributeNameList = TableManager.GetAttributeNameList(tableStyle, tableInfo.TableEnName, true); attributeNameList.AddRange( TableManager.GetHiddenAttributeNameList(tableStyle)); foreach (AtomEntry entry in feed.Entries) { var metaInfo = new TableMetadataInfo { AuxiliaryTableEnName = tableNameToInsert, AttributeName = AtomUtility.GetDcElementContent(entry.AdditionalElements, "AttributeName"), DataType = EDataTypeUtils.GetEnumType( AtomUtility.GetDcElementContent(entry.AdditionalElements, "DataType")), DataLength = TranslateUtils.ToInt( AtomUtility.GetDcElementContent(entry.AdditionalElements, "DataLength")), Taxis = TranslateUtils.ToInt(AtomUtility.GetDcElementContent(entry.AdditionalElements, "Taxis")), IsSystem = TranslateUtils.ToBool( AtomUtility.GetDcElementContent(entry.AdditionalElements, "IsSystem")) }; if (attributeNameList.IndexOf(metaInfo.AttributeName.Trim().ToLower()) != -1) { continue; } if (metaInfo.IsSystem) { continue; } BaiRongDataProvider.TableMetadataDao.Insert(metaInfo); } BaiRongDataProvider.TableMetadataDao.CreateAuxiliaryTable(tableNameToInsert); } } var tableNameToChange = (!string.IsNullOrEmpty(tableNameToInsert)) ? tableNameToInsert : tableName; //更新发布系统后台内容表及栏目表 if (tableType == EAuxiliaryTableType.BackgroundContent) { publishmentSystemInfo.AuxiliaryTableForContent = tableNameToChange; DataProvider.PublishmentSystemDao.Update(publishmentSystemInfo); } else if (tableType == EAuxiliaryTableType.GovPublicContent) { publishmentSystemInfo.AuxiliaryTableForGovPublic = tableNameToChange; DataProvider.PublishmentSystemDao.Update(publishmentSystemInfo); } else if (tableType == EAuxiliaryTableType.GovInteractContent) { publishmentSystemInfo.AuxiliaryTableForGovInteract = tableNameToChange; DataProvider.PublishmentSystemDao.Update(publishmentSystemInfo); } else if (tableType == EAuxiliaryTableType.JobContent) { publishmentSystemInfo.AuxiliaryTableForJob = tableNameToChange; DataProvider.PublishmentSystemDao.Update(publishmentSystemInfo); } else if (tableType == EAuxiliaryTableType.VoteContent) { publishmentSystemInfo.AuxiliaryTableForVote = tableNameToChange; DataProvider.PublishmentSystemDao.Update(publishmentSystemInfo); } } return(nameValueCollection); }