chore: initial commit - baseline before redesign
This commit is contained in:
50
CertReports.Syncfusion/Services/Interfaces/IServices.cs
Normal file
50
CertReports.Syncfusion/Services/Interfaces/IServices.cs
Normal 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);
|
||||
}
|
||||
Reference in New Issue
Block a user