feat: implement SavePump/SaveAlarms, fix config round-trip bugs, redesign PDF reports
Config system fixes: - Implement SavePump() — full XML serialization with insert/update by pump ID - Add CanBusParameter.ToPumpXml() for legacy P1-P6 pump param format - Fix LastRotationDirection never loaded in LoadSettings() - Add SaveAlarms() to ConfigurationService and IConfigurationService - Remove dead fields AppSettings.Clients and AppSettings.PumpIds PDF report redesign: - Professional layout with charts, verdict badges, and tolerance bands - Add ReportChartRenderer (SVG) and ReportTheme styling constants - Embed default_logo.png as fallback report logo Documentation: - Add gap analysis docs (config validation, ford unlock, missing features) - Update CLAUDE.md architecture, known gaps, and debt tracking Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -166,14 +166,5 @@ namespace HC_APTBS.Models
|
||||
/// <summary>Active alarm definitions loaded from alarms.xml.</summary>
|
||||
public List<Alarm> Alarms { get; set; } = new();
|
||||
|
||||
// ── Clients ───────────────────────────────────────────────────────────
|
||||
|
||||
/// <summary>Client/operator database, keyed by name (sorted).</summary>
|
||||
public SortedDictionary<string, string> Clients { get; set; } = new();
|
||||
|
||||
// ── Pump IDs ──────────────────────────────────────────────────────────
|
||||
|
||||
/// <summary>List of known pump identifiers available in the database.</summary>
|
||||
public List<string> PumpIds { get; set; } = new();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user