Exemplo n.º 1
0
        private static void CreateClassFile(TableDefinition table, List <ColumnDefinition> columns)
        {
            var namespaceValue = ConfigurationManager.AppSettings["Namespace"];
            var classBody      = new StringBuilder();

            var orderedColumns = columns.OrderByDescending(c => c.Constraints != null && c.Constraints.Exists(col => col.Type == ConstraintType.PrimaryKey));

            foreach (var column in orderedColumns)
            {
                var cSharpType = SqlTypeConverter.ConvertSqlTypeToCSharpType(column.DataType);
                classBody.AppendLine($"        public {cSharpType} {column.ColumnName} {{ get; set; }}");
            }


            var classContent = $"using System;{Environment.NewLine}{Environment.NewLine}namespace {namespaceValue}{Environment.NewLine}{{{Environment.NewLine}    public class {table.TableName}{Environment.NewLine}    {{{Environment.NewLine}{classBody}    }}{Environment.NewLine}}}";

            var path = Path.Combine(destination, table.DatabaseName);

            File.WriteAllText(Path.Combine(path, $"{table.TableName}.cs"), classContent);
        }