protected void AddTableToTableList(string category, SqlTable table, bool hasCategories) { if (hasCategories) { DocumenterWriter.Write(GetColor(table.SchemaAndTableName), "Tables", category); } DocumenterWriter.Write(GetColor(table.SchemaAndTableName), "Tables", table.SchemaAndTableName.Schema); DocumenterWriter.Write(GetColor(table.SchemaAndTableName), "Tables", table.SchemaAndTableName.TableName); if (!Customizer.ShouldSkip(table.SchemaAndTableName)) { DocumenterWriter.WriteLink("Tables", "link", Helper.GetSimplifiedSchemaAndTableName(table.SchemaAndTableName), GetColor(table.SchemaAndTableName)); } else { DocumenterWriter.Write(GetColor(table.SchemaAndTableName), "Tables", ""); } DocumenterWriter.Write(GetColor(table.SchemaAndTableName), "Tables", table.Columns.Count); var tableDescription = table.Properties.OfType <SqlTableDescription>().FirstOrDefault(); if (tableDescription != null) { DocumenterWriter.Write(GetColor(table.SchemaAndTableName), "Tables", tableDescription.Description); } DocumenterWriter.WriteLine("Tables"); }
protected void WriteColor(SchemaAndTableName schemaAndTableName, params object[] content) { DocumenterWriter.Write(GetColor(schemaAndTableName), Helper.GetSimplifiedSchemaAndTableName(schemaAndTableName), content); }
protected void Write(SchemaAndTableName schemaAndTableName, params object[] content) { DocumenterWriter.Write(Helper.GetSimplifiedSchemaAndTableName(schemaAndTableName), FormatBoolContent(content)); }
protected void Write(string sheetName, params object[] content) { DocumenterWriter.Write(sheetName, FormatBoolContent(content)); }
protected void AddTableDetails(string category, SqlTable table, bool hasCategories) { var pks = table.Properties.OfType <PrimaryKey>().ToList(); foreach (var column in table.Columns) { // TODO Create ISqlTypeMapper according to SqlDialect var sqlType = column.Type; var columnDocumentInfo = GetColumnDocumentInfo(pks, column); // TODO internal data types are not OK this way AddColumnsToTableSheet(column, columnDocumentInfo); if (hasCategories) { if (!Context.DocumenterSettings.NoInternalDataTypes) { DocumenterWriter.Write(GetColor(table.SchemaAndTableName), "All columns", category, table.SchemaAndTableName.Schema, table.SchemaAndTableName.TableName, column.Name, sqlType.SqlTypeInfo.SqlDataType, sqlType.SqlTypeInfo.SqlDataType, sqlType.Length, sqlType.Scale, sqlType.IsNullable); } else { DocumenterWriter.Write(GetColor(table.SchemaAndTableName), "All columns", category, table.SchemaAndTableName.Schema, table.SchemaAndTableName.TableName, column.Name, sqlType, sqlType.Length, sqlType.Scale, sqlType.IsNullable); } } else if (!Context.DocumenterSettings.NoInternalDataTypes) { DocumenterWriter.Write(GetColor(table.SchemaAndTableName), "All columns", table.SchemaAndTableName.Schema, table.SchemaAndTableName.TableName, column.Name, sqlType.SqlTypeInfo.SqlDataType, sqlType.SqlTypeInfo.SqlDataType, sqlType.Length, sqlType.Scale, sqlType.IsNullable); } else { DocumenterWriter.Write(GetColor(table.SchemaAndTableName), "All columns", table.SchemaAndTableName.Schema, table.SchemaAndTableName.TableName, column.Name, sqlType.SqlTypeInfo.SqlDataType, sqlType.Length, sqlType.Scale, sqlType.IsNullable); } if (columnDocumentInfo.IsPk) { DocumenterWriter.Write(GetColor(table.SchemaAndTableName), "All columns", true); } else { DocumenterWriter.Write(GetColor(table.SchemaAndTableName), "All columns", ""); } if (columnDocumentInfo.Identity != null) { DocumenterWriter.Write(GetColor(table.SchemaAndTableName), "All columns", $"IDENTITY ({columnDocumentInfo.Identity.Seed.ToString("D", CultureInfo.InvariantCulture)}, {columnDocumentInfo.Identity.Increment.ToString("D", CultureInfo.InvariantCulture)})"); } else { DocumenterWriter.Write(GetColor(table.SchemaAndTableName), "All columns", ""); } DocumenterWriter.Write(GetColor(table.SchemaAndTableName), "All columns", columnDocumentInfo.DefaultValue); DocumenterWriter.WriteLine(GetColor(table.SchemaAndTableName), "All columns", columnDocumentInfo.Description); } AddForeignKeysToTableSheet(table); AdIndexesToTableSheet(table); AddUniqueConstraintsToTableSheet(table); }