Add data models, randomization, and report factory setup

Introduced several new classes in the `EnvelopeGenerator.WebUI.Client` namespace:
- Added `Adjustment` class for financial adjustments with deterministic randomization.
- Added `Customer` class to load customer data from a SQL data source with fallback.
- Added `DataItem` class to represent detailed billing data, including adjustments.
- Added `DataItemList` class implementing `IList` for dynamic `DataItem` generation.
- Added `DeterministicRandom` class for reproducible random value generation.
- Added `Term` struct to define payment terms.
- Added `ReportsFactory` class to manage predefined reports.

Updated `MIGRATION_CONTEXT.md` to document the completion of Phase 5 (Data & PredefinedReports Migration) and outline next steps for resolving DevExpress-related errors in Phase 7.
This commit is contained in:
2026-06-12 14:04:37 +02:00
parent 1f889d8b58
commit 150fca5f47
8 changed files with 488 additions and 0 deletions

View File

@@ -0,0 +1,14 @@
using DevExpress.XtraReports.UI;
namespace EnvelopeGenerator.WebUI.Client.PredefinedReports {
public static class ReportsFactory
{
public static readonly Dictionary<string, Func<XtraReport>> Reports = new() {
["LargeDatasetReport"] = () => new PredefinedReports.Report()
};
public static XtraReport GetReport(string reportName) {
return Reports[reportName]();
}
}
}