Cayaqui.ReportModels 0.4.21

dotnet add package Cayaqui.ReportModels --version 0.4.21
                    
NuGet\Install-Package Cayaqui.ReportModels -Version 0.4.21
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Cayaqui.ReportModels" Version="0.4.21" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Cayaqui.ReportModels" Version="0.4.21" />
                    
Directory.Packages.props
<PackageReference Include="Cayaqui.ReportModels" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Cayaqui.ReportModels --version 0.4.21
                    
#r "nuget: Cayaqui.ReportModels, 0.4.21"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Cayaqui.ReportModels@0.4.21
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Cayaqui.ReportModels&version=0.4.21
                    
Install as a Cake Addin
#tool nuget:?package=Cayaqui.ReportModels&version=0.4.21
                    
Install as a Cake Tool

Cayaqui.ReportModels

Zero-dependency shared DTOs, palette colours (CayaquiColor), and utilities for Cayaqui.ExcelExport, Cayaqui.PptExport, and Cayaqui.WordExport.

Overview

Cayaqui.ReportModels is the foundation layer for the Cayaqui report generation ecosystem. It provides platform-agnostic types that all export packages reference, with no dependencies on Syncfusion, System.Drawing, or any other rendering library.

v0.2.0 — ReportTheme.AndesIron preset

Brand preset for Andes Iron SpA (Chilean iron+copper miner): charcoal #272524 primary, iron-oxide rust #ED6F51 accent.

var opts = new ExcelExportOptions { Theme = ReportTheme.AndesIron };  // o PptReportOptions / WordReportOptions

Additive — no breaking changes.

v0.3.5 — R9cEntry breaking change

R9cEntry fields renombrados para alinear con nomenclatura EPC owner-side:

Campo anterior Campo nuevo Significado
Ac Incurred Incurrido = Pagado + ejecutado no valorizado (ACWP)
ToCommit Paid Pagado = facturas emitidas al cutoff
(nuevo) Trends Variaciones de estimado internas aprobadas
Variance (eliminado) —

PctExec siempre en escala 0..1.


Contents

ReportTheme

Branding record shared across all three export packages (ExcelExport, PptExport, WordExport). Configure once, pass via options to apply consistently across formats.

var theme = new ReportTheme
{
    ReportTitle          = "Monthly Project Report",
    ProjectName          = "Talara U3 — Expansion",
    CompanyName          = "Cayaqui S.A.",
    PreparedBy           = "Project Controls Team",
    Version              = "1.0",
    ReportDate           = new DateTime(2026, 4, 30),
    ConfidentialityLabel = "CONFIDENCIAL",
    PrimaryColorHex      = "#0F2044",   // deep navy
    AccentColorHex       = "#C9961A",   // amber gold
    TitleFont            = "Calibri Light",
    BodyFont             = "Calibri",
    TableFont            = "Calibri",
    NumericFont          = "Roboto Condensed"
};

ReportTheme.CayaquiCorporateDark is the built-in preset (deep navy #0F2044 + amber gold #C9961A, "Calibri Light" titles).

Property Default
PrimaryColorHex "#0F2044"
AccentColorHex "#C9961A"
TitleFont "Calibri Light"
BodyFont "Calibri"
TableFont "Calibri"
NumericFont "Roboto Condensed"
ConfidentialityLabel "CONFIDENCIAL"
Version "1.0"
ReportDate null → DateTime.Today at render time

Consumers:

  • ExcelExportOptions.Theme → CoverSheetSection, per-sheet footer, tab color
  • PptReportOptions.Theme → cover slide branding
  • WordReportOptions.Theme → cover page branding

CayaquiColor

A platform-agnostic RGB colour struct. Renderers convert it to their specific colour type via extensions in each output package:

// In ExcelExport
color.ToXlsIO()  // → Syncfusion.Drawing.Color

// In PptExport
color.ToPpt()    // → IColor (Syncfusion Presentation)

// In WordExport
color.ToDocIO()  // → Syncfusion.Drawing.Color (DocIO)

Palette

Class Purpose
SemaforoColors Light EVM semáforo tones (green / amber / red / neutral) — readable with black text
EvmChartPalette Canonical Cayaqui EVM chart colours — visual parity with Cayaqui.Components Blazor

Visual Parity

EvmChartPalette uses the same hex values as the Blazor components in Cayaqui.Components.Evm, ensuring charts produced by Excel/PowerPoint/Word export match the web dashboard.

Role Hex Swatch
Plan #2E5BFF Blue
Earned #7F56D9 Purple
Actual #D92D20 Red
Forecast #039855 Green
BAC #101828 Near-black
Cut-off #D6D3D1 Light grey
Baseline #44403C Warm dark
Cyan #0086C9 Cyan
Amber #F79D1E Amber
WaterfallTotal #10B981 Bright emerald — total/opening bar
WaterfallSubtotal #64748B Slate grey — subtotal bars

EVM Data DTOs (Cayaqui.ReportModels.Evm)

Core EVM

DTO Descripción
EvmKpiSnapshot Snapshot de KPIs en la fecha de corte (CPI, SPI, EV, AC, PV, BAC, Δ anteriores)
EvmSCurvePoint Punto PV/EV/AC/Forecast para la curva S
CashflowPoint Punto Plan/Actual/Forecast mensual para cashflow
BurndownPoint Punto Remaining para burndown
PhysicalProgressPoint Punto Baseline/Plan/Actual/Forecast % avance físico
ProductionPoint Punto Plan/Actual producción (minería)
R9cEntry Fila del reporte de 9 columnas AACE 80R-13
RiskItem + RiskView Riesgo con Probability/Impact para heatmap
VarianceRow Fila de varianza cronograma (baseline/current/forecast)
ContingencyPoint Punto Plan/Actual contingencia restante
WaterfallStep + WaterfallStepKind Paso de cascada: Total, Subtotal, Add, Subtract, Pending, Forecast
ResourceBucket Celda Period×Category para histograma de recursos
ManagementReserveEvent + ManagementReserveEventKind Evento de reserva de gestión con monto y nota
TornadoItem Ítem tornado: label + desviación Low/High
MilestoneItem + MilestoneHealth Hito con fecha, salud y fecha baseline
RiskRegisterEntry Entrada registro de riesgos completo (score = Probability × Impact)
ChangeOrderEntry Orden de cambio con impacto costo/cronograma y estado
ControlChartPoint Punto Date/SV/CV para gráfico de control EVM (Schedule Variance / Cost Variance)

EPC / Project Controls

DTO Descripción
WbsBudgetRow Fila jerárquica WBS con BAC/EV/AC/EAC/CPI y nivel de indentación
EngProgressRow Fila de avance de ingeniería: Code/Title/Discipline, Plan%/Actual%, fechas Planned/Forecast
LookaheadRow Fila de lookahead 3 semanas: WBSCode/Activity/Responsible, fechas inicio/fin, LookaheadStatus
RaciEntry Entrada de matriz RACI: Activity + Role + RaciRole (Responsible/Accountable/Consulted/Informed)
PoEntry Fila de registro de órdenes de compra: PO# / Supplier / Amount / Status / fechas

Utils (Cayaqui.ReportModels.Utils)

Clase Descripción
CumulativeBuilder Calcula acumulados Plan/Actual/Forecast a partir de puntos mensuales + CutOffDate
EvmThresholds Umbrales semáforo para CPI/SPI con método Resolve(decimal?) → CayaquiColor

Release Notes

0.3.4

EvmChartPalette: two new Waterfall-specific semantic constants — WaterfallTotal (#10B981, bright emerald) and WaterfallSubtotal (#64748B, slate grey). WaterfallSlide (PptExport) and WaterfallDocSection (WordExport) now reference these constants, closing the last hardcoded-color gap vs the web design system. No breaking changes.

0.3.3

5 nuevos DTOs EPC: WbsBudgetRow, EngProgressRow, LookaheadRow, RaciEntry (+ RaciRole enum), PoEntry. Nuevo DTO de control EVM: ControlChartPoint (Date/SV/CV). LookaheadStatus enum (Planned/InProgress/Complete/Delayed). Requerido por WordExport ≥ 0.1.3, ExcelExport ≥ 0.7.3, PptExport ≥ 0.3.3.

0.2.0

8 nuevos DTOs Fase 2: ContingencyPoint, WaterfallStep+WaterfallStepKind, ResourceBucket, ManagementReserveEvent+ManagementReserveEventKind, TornadoItem, MilestoneItem+MilestoneHealth, RiskRegisterEntry, ChangeOrderEntry. Paridad completa con Cayaqui.ExcelExport v0.6.0 y Cayaqui.PptExport v0.2.0.

0.1.0

Initial release: CayaquiColor, SemaforoColors, EvmChartPalette.


Proprietary — requires a commercial agreement with Cayaqui.
For licensing inquiries: licensing@cayaqui.com

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on Cayaqui.ReportModels:

Package Downloads
Cayaqui.ExcelExport

Exports strongly-typed collections of DTOs to .xlsx using the attributes from Cayaqui.Metadata: Label for headers, Currency/Percentage/Date for cell formats, Align/ColumnWidth for layout, VisibleIn/Hidden for visibility, Order for column order, Badge for cell background color. Uses Syncfusion XlsIO. Proprietary — requires a commercial agreement with Cayaqui.

Cayaqui.WordExport

Programmatic Word document sections for EVM reporting. Each IWordDocSection adds a section to a Syncfusion.DocIO WordDocument. Pairs with Cayaqui.PptExport, Cayaqui.ExcelExport, and Cayaqui.ReportModels.

Cayaqui.PptExport

Programmatic PowerPoint slide sections for EVM reporting. Each IPptSlideSection adds a slide to a Syncfusion.Presentation IPresentation. Pairs with Cayaqui.ExcelExport and Cayaqui.ReportModels.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.4.21 180 6/23/2026
0.4.20 151 6/23/2026
0.4.15 158 6/22/2026
0.4.14 155 6/22/2026
0.4.13 148 6/22/2026
0.4.10 151 6/20/2026
0.4.5 142 6/20/2026
0.4.3 150 6/20/2026
0.4.2 153 6/20/2026
0.4.1 148 6/20/2026
0.3.9 155 6/19/2026
0.3.8 146 6/18/2026
0.3.7 149 6/18/2026
0.3.6 159 6/18/2026
0.3.5 151 6/18/2026
0.3.4 158 6/17/2026
0.1.2 154 6/16/2026
0.1.1 149 6/16/2026
0.1.0 150 6/15/2026

0.4.2 — Refactor de namespaces (folder-consistency): ReportTheme y tipos asociados movidos de la raíz a Cayaqui.ReportModels.Theme; licensing helpers a .Licensing. Corrige la divergencia source vs binario 0.4.1 publicado. Sin cambios de API funcional.
0.4.1 — ReportTheme.AndesIron: nuevo preset de marca (Andes Iron SpA, minera) — primary charcoal #272524, accent rust óxido de hierro #ED6F51. Aditivo, sin breaking.
0.4.0 — EvmKpiSnapshot: new CpiHistory + SpiHistory properties (IReadOnlyList<decimal>?). EvmSCurvePoint: new optional Baseline + partial-period params (PvPartial/EvPartial/AcPartial/ForecastPartial) for mixed bar+line charts. PackageReadme: ReportTheme documentation added. Additive — no breaking changes.

0.3.5 — R9cEntry: breaking change — Ac→Incurred, ToCommit→Paid, nuevo Trends, eliminado Variance. PctExec escala 0..1. 0.3.4 — EvmChartPalette: add WaterfallTotal (#10B981, bright emerald) and WaterfallSubtotal (#64748B, slate grey) semantic constants. Waterfall sections in PptExport and WordExport now reference these instead of hardcoded hex values — full color parity with web design system.

0.3.3 — 6 new EVM DTOs: WbsBudgetRow, EngProgressRow, LookaheadRow+LookaheadStatus, ControlChartPoint, RaciEntry+RaciRole, PoEntry.

0.3.2 — Fix: Cayaqui.Licensing.dll incluido en lib/net10.0/ del .nupkg (faltaba en 0.3.0/0.3.1 → 502.5 en IIS).

0.3.1 — Fix: re-publicación de 0.3.0 con binarios correctos. Sin diferencia de API.

0.3.0 — Licensing: MpsReportModels.RegisterLicense(licenseKey) + LicenseState property. ReportModelsLicenseState disponible en DI. Sin breaking changes.

0.2.0 — 8 nuevos DTOs Fase 2: ContingencyPoint, WaterfallStep+WaterfallStepKind, ResourceBucket, ManagementReserveEvent+ManagementReserveEventKind, TornadoItem, MilestoneItem+MilestoneHealth, RiskRegisterEntry, ChangeOrderEntry. Paridad con ExcelExport v0.6.0 y PptExport v0.2.0. 0.1.0 — Initial release: MpsColor, SemaforoColors, EvmChartPalette.