private void GenerateCSharpClassDefinition() { try { var options = new CSharpClassTextGeneratorOptions(); options.IncludePropertyAnnotationAttributes = IncludePropertyAttributes.Value; var conn = DatabaseSelectionController.GetDbConnection(); GeneratedCSharpText.Value = CSharpClassGeneratorFromAdoDataReader.GenerateClass(conn, SqlQuery.Value, ClassName.Value, options); } catch (Exception e) { MessageBox.Show(e.ToString()); } }
public static string CreateCSharpClass(IEnumerable <SISColumn> schemaColumns, string tableName, CSharpClassTextGeneratorOptions generatorOptions) { generatorOptions ??= CSharpClassTextGeneratorOptions.Default; var sqlColumns = schemaColumns.Select(InformationSchemaColumnToSqlColumn).ToList(); var cSharpProperties = sqlColumns.Select(CSharpPropertyFactoryFromSqlColumn.ToCSharpProperty).ToList(); var classText = CSharpClassTextGenerator.GenerateClassText(tableName, cSharpProperties, generatorOptions); return(classText.Trim()); }
public static string GenerateClassText(string className, IEnumerable <CSharpProperty> cSharpProperties, CSharpClassTextGeneratorOptions options) { var sb = new StringBuilder(); sb.AppendLine(string.Format("public class {0}", className)); sb.AppendLine("{"); foreach (var cSharpProperty in cSharpProperties) { var transformedCSharpProperty = TransformProperty(className, cSharpProperty); sb.AppendLine(transformedCSharpProperty.ToString(options)); } sb.AppendLine("}"); return(sb.ToString()); }
private static async Task GeneratePbsiDatabaseTypes(StaticSqlConnectionProvider scp, bool includeAttributes, bool includeTemporalColumns) { var generatorOptions = new CSharpClassTextGeneratorOptions() { IncludePropertyAnnotationAttributes = includeAttributes }; var tableDefinitions = await InformationSchemaMetadataExplorer.GetInformationSchemaTableDefinitions(scp); foreach (var tableDefinition in tableDefinitions) { if (string.Equals(tableDefinition.InformationSchemaTable.TABLE_SCHEMA, "PbsiSf", StringComparison.CurrentCultureIgnoreCase)) { continue; } var columns = tableDefinition.InformationSchemaColumns; if (!includeTemporalColumns) { columns = columns.Where(z => !z.COLUMN_NAME.InsensitiveEquals("validto") && !z.COLUMN_NAME.InsensitiveEquals("validfrom") ) .ToList(); } var tableName = tableDefinition.InformationSchemaTable.TABLE_NAME .Replace(".", "") .Replace("$", "_"); if (tableName.EndsWith("_History", StringComparison.OrdinalIgnoreCase)) { continue; } var cSharpClass = CSharpClassGeneratorFromInformationSchema.CreateCSharpClass( columns, tableName, generatorOptions ); Console.WriteLine(cSharpClass); } }
public string ToString(CSharpClassTextGeneratorOptions options) { var generator = new CSharpPropertyTextGenerator(this, options); return(generator.Generate()); }
public CSharpPropertyTextGenerator(CSharpProperty property, CSharpClassTextGeneratorOptions options) : this(property) { _cSharpClassTextGeneratorOptions = options; }