private static string getDataType(Enum.Language language, SqlDataType sqlDataType) { switch (language) { case Enum.Language.csharp: return(DataTypeConversion.ConvertTo_CSDataType(sqlDataType, false)); case Enum.Language.sql: return(sqlDataType.ToString()); default: return("string"); } }
public static SQLModel Map(Table table, SQLModel model, Enum.Language language) { model.Properties = getProperties(language, table.Columns); model.CSharpKeySignature = string.Join(", ", ( from k in model.KeyProperties select $"{ k.Type } { k.Name.LowerCamelCase }" )); model.CSharpKeyList = string.Join(", ", ( from k in model.KeyProperties select $"{ k.Name.LowerCamelCase }" )); model.CSharpKeyTypeList = string.Join(", ", ( from k in model.KeyProperties select $"{ k.Type }" )); model.SQLInsertSignature = getSQLInsertSignature(model.KeyProperties, model.NonKeyProperties); model.SQLUpdateSignature = string.Join(", ", ( from p in model.Properties where !ignoredProperties_Update.Contains(p.Name.Value) select $"@{ p.Name.LowerCamelCase } { getDataType(p) }" )); model.CSharpInsertCallSignature = getCSharpInsertCallSignature(model.KeyProperties, model.NonKeyProperties); model.CSharpUpdateCallSignature = string.Join(", ", ( from p in model.Properties where !ignoredProperties_Update.Contains(p.Name.Value) select $"@{ p.Name.Value }" )); model.CSharpKeyCallSignature = string.Join(", ", ( from p in model.KeyProperties select $"@{ p.Name.LowerCamelCase }" )); model.SQLPKSignature = getSQLPKSignature(model.Properties); model.SQLPKWhere = getSQLPKWhere(model.Properties); model.SQLSet = getSQLSet(model.Properties); return(model); }
private static IEnumerable <SQLProperty> getProperties(Enum.Language language, ColumnCollection columns) { var properties = new List <SQLProperty>(); foreach (Column column in columns) { var property = new SQLProperty { DefaultValue = column.DefaultConstraint?.Text, Length = column.DataType.MaximumLength, Name = NameFactory.Create(column.Name), Nullable = column.Nullable, PrimaryKey = column.InPrimaryKey, SqlDataType = column.DataType.SqlDataType, Type = getDataType(language, column.DataType.SqlDataType), IsInPrimaryKey = column.InPrimaryKey }; properties.Add(property); } return(properties); }