using ReportGeneration.Abstract; using ReportGeneration.Interface; using System.Collections.Generic; using System.IO; using System.Text; namespace ReportGeneration.Generators; internal class MarkdownTableGenerator : TableGeneratorBase { private const string ColumnSeparator = " | "; /// public MarkdownTableGenerator(int columns) : base(columns) { } /// public MarkdownTableGenerator(int columns, Stream stream) : base(columns, stream) { } /// public MarkdownTableGenerator(int columns, Stream stream, Encoding encoding) : base(columns, stream, encoding) { } /// public override ITableGenerator AppendHeader(IEnumerable row) => this .AppendRow(row) .AppendRow("---"); /// public override ITableGenerator AppendRow(IEnumerable row) { Writer.WriteLine(ColumnSeparator + string.Join(" | ", row) + ColumnSeparator); return this; } }