Beispiel #1
0
        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");
        }
Beispiel #2
0
 protected void WriteLine(SchemaAndTableName schemaAndTableName, params object[] content)
 {
     DocumenterWriter.WriteLine(Helper.GetSimplifiedSchemaAndTableName(schemaAndTableName), FormatBoolContent(content));
 }
Beispiel #3
0
 protected void WriteLine(string sheetName, params object[] content)
 {
     DocumenterWriter.WriteLine(sheetName, FormatBoolContent(content));
 }
Beispiel #4
0
        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);
        }