3.8 KiB
3.8 KiB
Design Spec: Campo Memoria + Parametro Natixis
Data: 2026-03-26
Scope: CertReports.Syncfusion — tutti i report (quotazione + expired)
Panoramica
Due feature indipendenti da aggiungere a tutti i report PDF generati dall'API:
- Campo Memoria — nuovo KV nella sezione Analisi, subito dopo Leva, che mostra il valore del campo
Memorydella SPrpt_Master_CFT_ISIN. - Parametro
?natixis— flag URL che modifica il campo Tipologia: setrue, usainfo.Nomedalla SP; sefalse(default), usainfo.Categoriacome adesso.
Feature 1: Campo Memoria
Origine dati
- Il campo
Memory(string) esiste già inCertificateInfo(riga 22 diCertificateModels.cs) e viene già letto dalla SPrpt_Master_CFT_ISIN. - Nessuna modifica al modello o al data service necessaria.
Rendering
- Aggiunto come 9° item nella colonna sinistra di
DrawAnalisiin entrambi i renderer:AnagraficaSectionRenderer(report in quotazione)ExpiredAnagraficaSectionRenderer(report expired: Scaduto/Rimborsato/Revocato)
- Posizione: subito dopo
("Leva", ...). - Valore:
string.IsNullOrWhiteSpace(info.Memory) ? "—" : info.Memory - La colonna sinistra passa da 8 a 9 item, simmetrica alla colonna destra che ne ha già 9.
Feature 2: Parametro ?natixis
Comportamento
?natixis=false(default):Tipologia = info.Categoria— comportamento invariato?natixis=true:Tipologia = info.Nome(campo Nome dalla SPrpt_Master_CFT_ISIN)
Propagazione del flag
Il flag segue lo stesso pattern di showBranding e showDividend:
CertificateReportData: aggiungerebool ShowNatixis { get; set; } = false;ReportController: aggiungere[FromQuery(Name = "natixis")] bool showNatixis = falsea tutti e 3 gli endpoint (GenerateReport,GenerateReportByIsin,DownloadReport) e al metodo helperGenerateAndReturnPdf.IReportOrchestrator/ReportOrchestrator.GenerateReportAsync: aggiungere parametrobool showNatixis = false, propagarlo inCertificateReportData.ShowNatixis.- Renderer:
AnagraficaSectionRenderer.DrawTitoloeExpiredAnagraficaSectionRenderer.DrawTitolousano giàinfo.Categoriaper il box Tipologia — sostituire condata.ShowNatixis ? info.Nome : info.Categoria.
Cache (Approccio A — flag concatenati)
La chiave cache segue il pattern esistente:
| Flags attivi | Chiave cache |
|---|---|
| nessuno | {isin} |
| branding | {isin}:branded |
| natixis | {isin}:natixis |
| branding + natixis | {isin}:branded:natixis |
| dividend | {isin}:dividend |
| (combinazioni varie) | concatenazione ordinata |
La logica di composizione della chiave cache va aggiornata in ReportOrchestrator per includere il suffisso :natixis quando showNatixis == true.
File modificati
| File | Modifica |
|---|---|
Models/CertificateModels.cs |
Aggiungere bool ShowNatixis a CertificateReportData |
Controllers/ReportController.cs |
Aggiungere param natixis a tutti gli endpoint |
Services/Interfaces/IServices.cs |
Aggiornare firma GenerateReportAsync |
Services/Implementations/ReportOrchestrator.cs |
Aggiungere param, propagare flag, aggiornare cache key |
Services/Implementations/AnagraficaSectionRenderer.cs |
Aggiungere Memoria in DrawAnalisi; usare ShowNatixis in DrawTitolo |
Services/Implementations/ExpiredAnagraficaSectionRenderer.cs |
Stesse modifiche |
Non in scope
- Modifica al data service o alle stored procedure (i campi
MemoryeNomesono già letti) - Modifica a
EventiSectionRenderer,ScenarioSectionRenderer,ChartSectionRenderer,DividendSectionRenderer - Aggiornamento documentazione API pubblica