No description
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> |
||
|---|---|---|
| .idea/.idea.Accounting/.idea | ||
| dlls | ||
| Schaad.Accounting.Common | ||
| Schaad.Accounting.Db | ||
| Schaad.Accounting.Services | ||
| Schaad.Accounting.UI | ||
| .gitignore | ||
| Accounting.sln | ||
| CLAUDE.md | ||
| IMPROVEMENT_PLAN.md | ||
| LICENSE | ||