No description
Find a file
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
.idea/.idea.Accounting/.idea Add new blazor app 2025-05-04 20:00:42 +02:00
dlls Add new blazor app 2025-05-04 20:00:42 +02:00
Schaad.Accounting.Common PR C: mechanical cleanup (typos, packages, formatting, culture) 2026-07-02 20:46:55 +02:00
Schaad.Accounting.Db PR D: per-scope repository cache 2026-07-02 20:52:24 +02:00
Schaad.Accounting.Services PR F: precompute dictionaries in ViewService 2026-07-02 21:00:33 +02:00
Schaad.Accounting.UI PR D: per-scope repository cache 2026-07-02 20:52:24 +02:00
.gitignore Add new blazor app 2025-05-04 20:00:42 +02:00
Accounting.sln Add new blazor app 2025-05-04 20:00:42 +02:00
CLAUDE.md PR A: correctness fixes and improvement plan 2026-07-02 20:37:03 +02:00
IMPROVEMENT_PLAN.md PR F: precompute dictionaries in ViewService 2026-07-02 21:00:33 +02:00
LICENSE Create LICENSE 2025-05-14 21:46:47 +02:00