Добавьте файлы проекта.

This commit is contained in:
2025-12-07 08:52:05 +03:00
parent 95344cd7a7
commit 226b6b6b21
118 changed files with 5249 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
using System.Text;
namespace SQLLinter.Infrastructure.Reporters;
public class MarkdownFileReporter : FileReporter
{
public override string GetContent()
{
var violations = Violations;
if (violations.Count == 0)
{
return "_Нет нарушений_";
}
// Группировка по файлу
var groupedByFile = violations
.GroupBy(v => v.FileName)
.OrderBy(g => g.Key); // сортировка файлов по имени
var sb = new StringBuilder();
foreach (var fileGroup in groupedByFile)
{
sb.AppendLine($"## Файл: {fileGroup.Key}");
sb.AppendLine();
// Группировка по severity внутри файла
var groupedBySeverity = fileGroup
.GroupBy(v => v.Severity)
.OrderByDescending(g => g.Key); // сначала Error, потом Warning, потом Info
foreach (var severityGroup in groupedBySeverity)
{
sb.AppendLine($"### {severityGroup.Key}");
sb.AppendLine();
sb.AppendLine("| Строка | Колонка | Правило | Описание |");
sb.AppendLine("|--------|---------|---------|----------|");
foreach (var v in severityGroup
.OrderBy(x => x.Line)
.ThenBy(x => x.Column))
{
sb.AppendLine($"| {v.Line} | {v.Column} | {v.RuleName} | {v.Text} |");
}
sb.AppendLine();
}
}
return sb.ToString();
}
}