Esempio n. 1
0
        private static void InitKeyColumns(XmlNode xnKeyColumns, PdmKeyModel Key)
        {
            XmlElement  xmlElement = (XmlElement)xnKeyColumns;
            XmlNodeList childNodes = xmlElement.ChildNodes;

            foreach (string current in from XmlNode xnP in childNodes
                     select((XmlElement)xnP).GetAttribute("Ref"))
            {
                Key.AddColumnObjCode(current);
            }
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }