fix: null-coalescing for KV fields + PdfTheme brush rename (NegativeRedBrush/PositiveGreenBrush)
This commit is contained in:
@@ -31,7 +31,7 @@ public static class PdfTheme
|
|||||||
public static readonly Color SeparatorLine = Color.FromArgb(255, 221, 221, 221); // #DDDDDD
|
public static readonly Color SeparatorLine = Color.FromArgb(255, 221, 221, 221); // #DDDDDD
|
||||||
public static readonly Color TableBorder = Color.FromArgb(255, 187, 187, 187); // #BBBBBB
|
public static readonly Color TableBorder = Color.FromArgb(255, 187, 187, 187); // #BBBBBB
|
||||||
public static readonly Color TableAltRow = Color.FromArgb(255, 247, 249, 252); // #F7F9FC
|
public static readonly Color TableAltRow = Color.FromArgb(255, 247, 249, 252); // #F7F9FC
|
||||||
public static readonly Color TableHeaderBg = Color.FromArgb(255, 21, 101, 192); // #1565C0
|
// TableHeaderBg is AccentBlue — use AccentBlueBrush / TableHeaderBrush directly
|
||||||
|
|
||||||
// ─── Font ──────────────────────────────────────────────────────────
|
// ─── Font ──────────────────────────────────────────────────────────
|
||||||
private static readonly PdfStandardFont _fontRegular = new(PdfFontFamily.Helvetica, 8f);
|
private static readonly PdfStandardFont _fontRegular = new(PdfFontFamily.Helvetica, 8f);
|
||||||
@@ -76,11 +76,11 @@ public static class PdfTheme
|
|||||||
public static PdfBrush NegativeBrush => new PdfSolidBrush(NegativeValue);
|
public static PdfBrush NegativeBrush => new PdfSolidBrush(NegativeValue);
|
||||||
public static PdfPen BorderPen => new PdfPen(BorderColor, 0.5f);
|
public static PdfPen BorderPen => new PdfPen(BorderColor, 0.5f);
|
||||||
public static PdfBrush AccentBlueBrush => new PdfSolidBrush(AccentBlue);
|
public static PdfBrush AccentBlueBrush => new PdfSolidBrush(AccentBlue);
|
||||||
public static PdfBrush NegativeBrush2 => new PdfSolidBrush(NegativeRed);
|
public static PdfBrush NegativeRedBrush => new PdfSolidBrush(NegativeRed);
|
||||||
public static PdfBrush PositiveBrush2 => new PdfSolidBrush(PositiveGreen);
|
public static PdfBrush PositiveGreenBrush => new PdfSolidBrush(PositiveGreen);
|
||||||
public static PdfBrush FooterTextBrush => new PdfSolidBrush(FooterText);
|
public static PdfBrush FooterTextBrush => new PdfSolidBrush(FooterText);
|
||||||
public static PdfBrush TableAltRowBrush => new PdfSolidBrush(TableAltRow);
|
public static PdfBrush TableAltRowBrush => new PdfSolidBrush(TableAltRow);
|
||||||
public static PdfBrush TableHeaderBrush => new PdfSolidBrush(TableHeaderBg);
|
public static PdfBrush TableHeaderBrush => AccentBlueBrush;
|
||||||
public static PdfPen SeparatorPen => new PdfPen(SeparatorLine, 0.5f);
|
public static PdfPen SeparatorPen => new PdfPen(SeparatorLine, 0.5f);
|
||||||
public static PdfPen TableBorderPen => new PdfPen(TableBorder, 0.5f);
|
public static PdfPen TableBorderPen => new PdfPen(TableBorder, 0.5f);
|
||||||
public static PdfPen AccentBluePen => new PdfPen(AccentBlue, 2.5f);
|
public static PdfPen AccentBluePen => new PdfPen(AccentBlue, 2.5f);
|
||||||
@@ -89,7 +89,7 @@ public static class PdfTheme
|
|||||||
public static PdfBrush ValueBrush(decimal? value)
|
public static PdfBrush ValueBrush(decimal? value)
|
||||||
{
|
{
|
||||||
if (value == null) return TextBrush;
|
if (value == null) return TextBrush;
|
||||||
return value >= 0 ? PositiveBrush : NegativeBrush;
|
return value >= 0 ? PositiveGreenBrush : NegativeRedBrush;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -262,25 +262,25 @@ public class AnagraficaSectionRenderer : IPdfSectionRenderer
|
|||||||
{
|
{
|
||||||
var leftItems = new (string Label, string Value)[]
|
var leftItems = new (string Label, string Value)[]
|
||||||
{
|
{
|
||||||
("Importo Cedola (p.a.)", info.NominalAnnualYield),
|
("Importo Cedola (p.a.)", info.NominalAnnualYield ?? "-"),
|
||||||
("Frequenza Cedola", info.FrequenzaCedole),
|
("Frequenza Cedola", info.FrequenzaCedole ?? "-"),
|
||||||
("Valore Nominale", info.NominalValue?.ToString("N0") ?? "-"),
|
("Valore Nominale", info.NominalValue?.ToString("N0") ?? "-"),
|
||||||
("Prezzo Emissione", info.PrezzoEmissione?.ToString("N0") ?? "-"),
|
("Prezzo Emissione", info.PrezzoEmissione?.ToString("N0") ?? "-"),
|
||||||
("Barriera Capitale", info.LivelloBarriera),
|
("Barriera Capitale", info.LivelloBarriera ?? "-"),
|
||||||
("Tipo Barriera", info.BarrierType),
|
("Tipo Barriera", info.BarrierType ?? "-"),
|
||||||
("Tipo Basket", info.BasketType),
|
("Tipo Basket", info.BasketType ?? "-"),
|
||||||
("Leva", string.IsNullOrWhiteSpace(info.Leva) ? "—" : info.Leva),
|
("Leva", string.IsNullOrWhiteSpace(info.Leva) ? "—" : info.Leva),
|
||||||
};
|
};
|
||||||
|
|
||||||
var rightItems = new (string Label, string Value)[]
|
var rightItems = new (string Label, string Value)[]
|
||||||
{
|
{
|
||||||
("Rend. Capitale a Scadenza", info.CapitalReturnAtMaturity),
|
("Rend. Capitale a Scadenza", info.CapitalReturnAtMaturity ?? "-"),
|
||||||
("IRR", info.IRR),
|
("IRR", info.IRR ?? "-"),
|
||||||
("Protezione Capitale", info.BufferKProt),
|
("Protezione Capitale", info.BufferKProt ?? "-"),
|
||||||
("Protezione Coupon", info.BufferCPNProt),
|
("Protezione Coupon", info.BufferCPNProt ?? "-"),
|
||||||
("Valore Autocall", info.AutocallValue),
|
("Valore Autocall", info.AutocallValue ?? "-"),
|
||||||
("Distanza Autocall", info.TriggerAutocallDistance),
|
("Distanza Autocall", info.TriggerAutocallDistance ?? "-"),
|
||||||
("Rendimento Autocall", info.AutocallReturn),
|
("Rendimento Autocall", info.AutocallReturn ?? "-"),
|
||||||
("Fattore Airbag", string.IsNullOrWhiteSpace(info.FattoreAirbag) ? "—" : info.FattoreAirbag),
|
("Fattore Airbag", string.IsNullOrWhiteSpace(info.FattoreAirbag) ? "—" : info.FattoreAirbag),
|
||||||
("Trigger OneStar", string.IsNullOrWhiteSpace(info.TriggerOneStar) ? "—" : info.TriggerOneStar),
|
("Trigger OneStar", string.IsNullOrWhiteSpace(info.TriggerOneStar) ? "—" : info.TriggerOneStar),
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user