chore: initial commit - baseline before redesign

This commit is contained in:
2026-03-20 12:03:38 +01:00
commit 85ee66750a
31 changed files with 3426 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
using CertReports.Syncfusion.Models;
using Syncfusion.Pdf;
namespace CertReports.Syncfusion.Services.Interfaces;
/// <summary>
/// Recupera i dati del certificato dal database SQL Server (stored procedures)
/// </summary>
public interface ICertificateDataService
{
Task<CertificateInfo> GetCertificateInfoAsync(string isin);
Task<List<CertificateEvent>> GetCertificateEventsAsync(string isin);
Task<ScenarioAnalysis> GetScenarioAnalysisAsync(string isin);
Task<bool> IsScenarioAnalysisAllowedAsync(string isin);
Task<string?> FindIsinByAliasIdAsync(string aliasId);
}
/// <summary>
/// Genera una sezione PDF del report (anagrafica, eventi, scenario)
/// </summary>
public interface IPdfSectionRenderer
{
string SectionName { get; }
int Order { get; }
PdfDocument Render(CertificateReportData data);
}
/// <summary>
/// Genera la sezione grafico (può fallire, gestita separatamente)
/// </summary>
public interface IChartSectionRenderer
{
Task<PdfDocument?> RenderAsync(string isin);
}
/// <summary>
/// Unisce più PdfDocument in un unico PDF
/// </summary>
public interface IPdfMergerService
{
byte[] Merge(IEnumerable<PdfDocument> documents);
}
/// <summary>
/// Orchestratore principale: coordina data retrieval, rendering e merge
/// </summary>
public interface IReportOrchestrator
{
Task<byte[]> GenerateReportAsync(string isin);
}