AccountingNext/Schaad.Accounting.Services
Claudio Schaad 5d75bbb64d PR F: precompute dictionaries in ViewService
Eliminate O(N*M) linear scans in view assembly.
GetTransactionViewList / GetBookingRuleViewList: precompute
accountsById and use dictionary lookups instead of accountList.Single
per row. GetAccountViewList: group transactions by
TargetAccountId/OriginAccountId once; per-account balance is now O(k)
instead of a full scan. Fold GetBalanceInAccountCurrency and
GetCurrentBalanceInCHF into a single ComputeBalance helper so the
account-currency balance is computed once per account instead of
twice.

Defer item 19 (async I/O): after PR D each XML file is loaded at most
once per circuit, and this app is single-user local Blazor Server, so
async would be ~40 files of churn for negligible benefit.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-07-02 21:00:33 +02:00
..
ChartService.cs PR E: ChartService cleanup 2026-07-02 20:56:20 +02:00
DummyFxService.cs PR A: correctness fixes and improvement plan 2026-07-02 20:37:03 +02:00
FileService.cs PR C: mechanical cleanup (typos, packages, formatting, culture) 2026-07-02 20:46:55 +02:00
Schaad.Accounting.Services.csproj PR C: mechanical cleanup (typos, packages, formatting, culture) 2026-07-02 20:46:55 +02:00
SettingsService.cs PR A: correctness fixes and improvement plan 2026-07-02 20:37:03 +02:00
ViewService.cs PR F: precompute dictionaries in ViewService 2026-07-02 21:00:33 +02:00