private static void InitKeys(XmlNode xnKeys, PdmTableInfoModel pTable) { foreach (XmlNode xnKey in xnKeys) { pTable.AddKey(GetKey(xnKey, pTable)); } }
private static void InitColumns(XmlNode xnColumns, PdmTableInfoModel pTable) { foreach (XmlNode xnColumn in xnColumns) { pTable.AddColumn(GetColumn(xnColumn, pTable)); } }
private static PdmKeyModel GetKey(XmlNode xnKey, PdmTableInfoModel ownerTable) { PdmKeyModel PdmKeyModel = new PdmKeyModel(ownerTable); XmlElement xmlElement = (XmlElement)xnKey; PdmKeyModel.KeyId = xmlElement.GetAttribute("Id"); XmlNodeList childNodes = xmlElement.ChildNodes; foreach (XmlNode xmlNode in childNodes) { string name = xmlNode.Name; switch (name) { case "a:ObjectID": PdmKeyModel.ObjectID = xmlNode.InnerText; break; case "a:Name": PdmKeyModel.Name = xmlNode.InnerText; break; case "a:Code": PdmKeyModel.Code = xmlNode.InnerText; break; case "a:CreationDate": PdmKeyModel.CreationDate = String2DateTime(xmlNode.InnerText); break; case "a:Creator": PdmKeyModel.Creator = xmlNode.InnerText; break; case "a:ModificationDate": PdmKeyModel.ModificationDate = String2DateTime(xmlNode.InnerText); break; case "a:Modifier": PdmKeyModel.Modifier = xmlNode.InnerText; break; case "c:Key.Columns": InitKeyColumns(xmlNode, PdmKeyModel); break; } } return(PdmKeyModel); }
private IList <PdmTableInfoModel> GetTables(List <string> tableNames) { List <PdmTableInfoModel> list = new List <PdmTableInfoModel>(); foreach (var item in tableNames) { string tableName, tableDescription; List <DbTableColumnSchema> dbColumnList = DbSchemaBLL.GetDbTableColumnSchema(item, sqlconnection, out tableName, out tableDescription); if (dbColumnList == null) { throw new Exception("table {0} 不存在,请确认表名及数据库名是否正确!".Formats(item)); } PdmTableInfoModel tbmodel = new PdmTableInfoModel() { Code = tableName, Comment = tableDescription, Name = tableDescription }; dbColumnList.ForEach(p => { PdmColumnInfoModel pcim = new PdmColumnInfoModel(tbmodel); pcim.Code = p.columnName; pcim.Comment = p.Description; pcim.DataType = GetDataType(p); pcim.ColumnId = p.columnName; if (p.isPrimarykey == 1) { var keymodel = new PdmKeyModel(tbmodel) { KeyId = p.columnName }; keymodel.AddColumnObjCode(p.columnName); tbmodel.Keys.Add(keymodel); tbmodel.PrimaryKeyRefCode = p.columnName; } pcim.Identity = p.isIdentity == 1; pcim.Mandatory = p.isAllowNull == 1; tbmodel.Columns.Add(pcim); }); list.Add(tbmodel); } return(list); }
private static PdmTableInfoModel GetTable(XmlNode xnTable) { PdmTableInfoModel PdmTableInfoModel = new PdmTableInfoModel(); XmlElement xmlElement = (XmlElement)xnTable; PdmTableInfoModel.TableId = xmlElement.GetAttribute("Id"); XmlNodeList childNodes = xmlElement.ChildNodes; foreach (XmlNode xmlNode in childNodes) { string name = xmlNode.Name; switch (name) { case "a:ObjectID": PdmTableInfoModel.ObjectID = xmlNode.InnerText; break; case "a:Name": PdmTableInfoModel.Name = xmlNode.InnerText; break; case "a:Code": PdmTableInfoModel.Code = xmlNode.InnerText; break; case "a:CreationDate": PdmTableInfoModel.CreationDate = String2DateTime(xmlNode.InnerText); break; case "a:Creator": PdmTableInfoModel.Creator = xmlNode.InnerText; break; case "a:ModificationDate": PdmTableInfoModel.ModificationDate = String2DateTime(xmlNode.InnerText); break; case "a:Modifier": PdmTableInfoModel.Modifier = xmlNode.InnerText; break; case "a:Comment": PdmTableInfoModel.Comment = xmlNode.InnerText; break; case "a:PhysicalOptions": PdmTableInfoModel.PhysicalOptions = xmlNode.InnerText; break; case "c:Columns": InitColumns(xmlNode, PdmTableInfoModel); break; case "c:Keys": InitKeys(xmlNode, PdmTableInfoModel); break; case "c:PrimaryKey": InitPrimaryKey(xmlNode, PdmTableInfoModel); break; case "a:Description": PdmTableInfoModel.Description = xmlNode.InnerText; break; } } return(PdmTableInfoModel); }
private static PdmColumnInfoModel GetColumn(XmlNode xnColumn, PdmTableInfoModel ownerTable) { PdmColumnInfoModel PdmColumnInfoModel = new PdmColumnInfoModel(ownerTable); XmlElement xmlElement = (XmlElement)xnColumn; PdmColumnInfoModel.ColumnId = xmlElement.GetAttribute("Id"); XmlNodeList childNodes = xmlElement.ChildNodes; foreach (XmlNode xmlNode in childNodes) { string name = xmlNode.Name; switch (name) { case "a:ObjectID": PdmColumnInfoModel.ObjectID = xmlNode.InnerText; break; case "a:Name": PdmColumnInfoModel.Name = xmlNode.InnerText; break; case "a:Code": PdmColumnInfoModel.Code = xmlNode.InnerText; break; case "a:CreationDate": PdmColumnInfoModel.CreationDate = String2DateTime(xmlNode.InnerText); break; case "a:Creator": PdmColumnInfoModel.Creator = xmlNode.InnerText; break; case "a:ModificationDate": PdmColumnInfoModel.ModificationDate = String2DateTime(xmlNode.InnerText); break; case "a:Modifier": PdmColumnInfoModel.Modifier = xmlNode.InnerText; break; case "a:Comment": PdmColumnInfoModel.Comment = xmlNode.InnerText; break; case "a:DataType": PdmColumnInfoModel.DataType = xmlNode.InnerText; break; case "a:Length": PdmColumnInfoModel.Length = xmlNode.InnerText; break; case "a:Identity": PdmColumnInfoModel.Identity = ConvertToBooleanPg(xmlNode.InnerText); break; case "a:Mandatory": PdmColumnInfoModel.Mandatory = ConvertToBooleanPg(xmlNode.InnerText); break; case "a:PhysicalOptions": PdmColumnInfoModel.PhysicalOptions = xmlNode.InnerText; break; case "a:ExtendedAttributesText": PdmColumnInfoModel.ExtendedAttributesText = xmlNode.InnerText; break; case "a:Precision": PdmColumnInfoModel.Precision = xmlNode.InnerText; break; } } return(PdmColumnInfoModel); }
private static void InitPrimaryKey(XmlNode xnPrimaryKey, PdmTableInfoModel pTable) { pTable.PrimaryKeyRefCode = GetPrimaryKey(xnPrimaryKey); }