Esempio n. 1
0
        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());
        }
Esempio n. 2
0
 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));
 }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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());
        }
Esempio n. 5
0
 private static string NormalizeFieldName(string input)
 {
     return(DBHandler.NormalizeFieldName(input, false));
 }