Cayaqui.MPS.ReportModels 0.4.0

dotnet add package Cayaqui.MPS.ReportModels --version 0.4.0
                    
NuGet\Install-Package Cayaqui.MPS.ReportModels -Version 0.4.0
                    
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.MPS.ReportModels" Version="0.4.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Cayaqui.MPS.ReportModels" Version="0.4.0" />
                    
Directory.Packages.props
<PackageReference Include="Cayaqui.MPS.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.MPS.ReportModels --version 0.4.0
                    
#r "nuget: Cayaqui.MPS.ReportModels, 0.4.0"
                    
#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.MPS.ReportModels@0.4.0
                    
#: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.MPS.ReportModels&version=0.4.0
                    
Install as a Cake Addin
#tool nuget:?package=Cayaqui.MPS.ReportModels&version=0.4.0
                    
Install as a Cake Tool

Cayaqui.MPS.ReportModels

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

Overview

MPS.Infrastructure.ReportModels is the foundation layer for the MPS 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.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.MpsCorporateDark 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 nullDateTime.Today at render time

Consumers:

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

MpsColor

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 MPS EVM chart colours — visual parity with MPS.Components Blazor

Visual Parity

EvmChartPalette uses the same hex values as the Blazor components in MPS.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 (MPS.Infrastructure.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 (MPS.Infrastructure.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?) → MpsColor

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.MPS.ExcelExport v0.6.0 y Cayaqui.MPS.PptExport v0.2.0.

0.1.0

Initial release: MpsColor, 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.MPS.ReportModels:

Package Downloads
Cayaqui.MPS.ExcelExport

Exports strongly-typed collections of DTOs to .xlsx using the attributes from Cayaqui.MPS.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.MPS.PptExport

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

Cayaqui.MPS.WordExport

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

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.4.0 19 5/26/2026
0.3.5 129 5/19/2026
0.3.4 52 5/19/2026
0.3.3 61 5/19/2026
0.3.2 74 5/18/2026
0.3.1 59 5/18/2026
0.3.0 59 5/18/2026
0.2.0 63 5/18/2026

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: MPS.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.