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

This commit is contained in:
FrigaT
2026-01-05 00:29:19 +03:00
committed by FrigaT
parent 76a09d80d4
commit d0653c2098
105 changed files with 6729 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
using SQLVision.Core.Enums;
using SQLVision.Visualizers.Interfaces;
using SQLVision.Visualizers.Visualizers;
namespace SQLVision.Visualizers.Factories;
public class VisualizerFactory : IVisualizerFactory
{
private readonly Dictionary<OutputType, IVisualizer> _visualizers;
private readonly IServiceProvider _serviceProvider;
public VisualizerFactory(IServiceProvider serviceProvider)
{
_serviceProvider = serviceProvider;
_visualizers = new Dictionary<OutputType, IVisualizer>
{
[OutputType.Table] = new TableVisualizer(),
[OutputType.Chart] = new ChartVisualizer(),
[OutputType.Text] = new TextVisualizer(),
[OutputType.Grid] = new TableVisualizer(), // Пока используем TableVisualizer
[OutputType.Custom] = new TableVisualizer() // Fallback
};
}
public IVisualizer GetVisualizer(OutputType type)
{
if (_visualizers.TryGetValue(type, out var visualizer))
{
return visualizer;
}
// Fallback на табличный визуализатор
return _visualizers[OutputType.Table];
}
public void RegisterVisualizer(OutputType type, IVisualizer visualizer)
{
_visualizers[type] = visualizer;
}
}