private string GetXMLCreator(TableDef tdef) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("\t\tpublic String ToXML()" + DBHandler.NL + "\t\t{" + DBHandler.NL); stringBuilder.Append("\t\t\tStringBuilder xml = new StringBuilder();" + DBHandler.NL2); foreach (FieldDef field in tdef.Fields) { string str1 = DBHandler.NormalizeFieldName("_" + field.Name); if (str1 == tdef.Name) { str1 += "Value"; } string str2 = field.CanBeNull ? (DBTools.IsNullable(field.DataType) ? field.DataType : field.DataType + "?") : field.DataType; if (DBTools.IsNullable(field.DataType) || str2.EndsWith("?")) { stringBuilder.Append("\t\t\txml.Append(\"<" + str1 + ">\" + ((" + str1 + " == null) ? \"\" : " + str1 + ".ToString()) + \"</" + str1 + ">\");" + DBHandler.NL); } else { stringBuilder.Append("\t\t\txml.Append(\"<" + str1 + ">\" + " + str1 + ".ToString() + \"</" + str1 + ">\");" + DBHandler.NL); } } stringBuilder.Append(DBHandler.NL + "\t\t\treturn xml.ToString();" + DBHandler.NL); stringBuilder.Append("\t\t}" + DBHandler.NL2); return(stringBuilder.ToString()); }
private static string NormalizeClassName(string skipPrefix, string input) { if (input == null) { return((string)null); } return(DBHandler.NormalizeFieldName(skipPrefix == null || !input.StartsWith(skipPrefix) ? input : input.Substring(skipPrefix.Length), true)); }
private TableDef GetTD_MySQL(string table) { string query = "SELECT COLUMN_NAME As field,ORDINAL_POSITION as ordinal, IS_NULLABLE, DATA_TYPE as DataType, CHARACTER_MAXIMUM_LENGTH as data_length,COLUMN_KEY as is_index,COLUMN_COMMENT as description,EXTRA\r\n\t\t\t\t\t\t\tFROM INFORMATION_SCHEMA.COLUMNS\r\n\t\t\t\t\t\t\twhere table_name = @name and table_schema = @schema group by COLUMN_NAME"; DbCommand cmd = (DbCommand)null; DbDataReader reader = (DbDataReader)null; TableDef tableDef = new TableDef(); tableDef.Name = table; List <FieldDef> fieldDefList = new List <FieldDef>(); try { cmd = DBConnectionFactory.GetMySqlCommand(query, this._dbconn); DBTools.AddDbParameter(ref cmd, "@name", (object)table); DBTools.AddDbParameter(ref cmd, "@schema", (object)this._dbconn.Database); reader = cmd.ExecuteReader(); while (reader.Read()) { FieldDef fieldDef = new FieldDef(); fieldDef.Name = DBTools.GetDBStringValue(reader, "field"); fieldDef.FieldLength = DBTools.GetDBIntValue(reader, "data_length"); string dbStringValue = DBTools.GetDBStringValue(reader, "description"); fieldDef.Description = string.IsNullOrEmpty(dbStringValue) ? DBHandler.NormalizeFieldName("_" + fieldDef.Name) : dbStringValue; try { fieldDef.DataType = DBTools.GetCSTypeFromDBType(DBTools.GetDBStringValue(reader, "DataType"), (double)fieldDef.FieldLength); } catch (Exception ex) { string message = ex.Message; } fieldDef.CanBeNull = DBTools.GetDBStringValue(reader, "is_nullable") == "YES"; fieldDef.IsPrimaryKey = DBTools.GetDBStringValue(reader, "is_index", (string)null) == "PRI"; fieldDefList.Add(fieldDef); } } catch (DbException ex) { throw ex; } finally { reader?.Close(); cmd?.Dispose(); } tableDef.Fields = fieldDefList.ToArray(); return(tableDef); }
private string GetValueObject(string ns, TableDef tdef) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("using System;" + DBHandler.NL); stringBuilder.Append("using System.ComponentModel;" + DBHandler.NL); stringBuilder.Append("using System.ComponentModel.DataAnnotations;" + DBHandler.NL); stringBuilder.Append("using System.Web.Mvc;" + DBHandler.NL); stringBuilder.Append("using System.Collections.Generic;" + DBHandler.NL); stringBuilder.Append("using System.Linq;" + DBHandler.NL); stringBuilder.Append("using System.Web;" + DBHandler.NL); stringBuilder.Append("using System.Text;" + DBHandler.NL2); stringBuilder.Append("namespace " + ns.Trim() + DBHandler.NL + "{" + DBHandler.NL + "\tpublic class " + tdef.Name + DBHandler.NL + "\t{" + DBHandler.NL); stringBuilder.Append("\t\t#region |-------- Properties --------|" + DBHandler.NL2); foreach (FieldDef field in tdef.Fields) { string str1 = DBHandler.NormalizeFieldName("_" + field.Name); if (str1 == tdef.Name) { str1 += "Value"; } if (!field.CanBeNull) { stringBuilder.Append("\t\t[Required]" + DBHandler.NL); } stringBuilder.Append("\t\t[DisplayName(\"" + field.Description + "\")]" + DBHandler.NL); if (field.DataType == "String" && field.FieldLength > 0) { stringBuilder.Append("\t\t[StringLength(" + (object)field.FieldLength + ")]" + DBHandler.NL); } string str2 = field.CanBeNull ? (DBTools.IsNullable(field.DataType) ? field.DataType : field.DataType + "?") : field.DataType; stringBuilder.Append("\t\tpublic "); stringBuilder.Append(str2 + " " + str1 + " { get; set; }" + DBHandler.NL2); } stringBuilder.Append(DBHandler.NL + "\t\t#endregion" + DBHandler.NL2); stringBuilder.Append(this.GetXMLCreator(tdef)); stringBuilder.Append(DBHandler.NL + "\t}" + DBHandler.NL + "}" + DBHandler.NL); return(stringBuilder.ToString()); }
private static string NormalizeFieldName(string input) { return(DBHandler.NormalizeFieldName(input, false)); }