Parametric price quotes
An application for a manufacturer’s parametric price quotes, in service from 2019 to this day — in that time it has been through three generations of .NET. It has its own evaluator for mathematical formulas, because parametric calculations follow what the salesperson enters, not the programmer.
- Year
- 2019–2026
- Client
- Under NDA
- Stack
- .NET 10 · Blazor Server · MongoDB · EF Core · EPPlus · MailKit
More than 360 commits of my own since September 2019 stand behind an application for a manufacturer’s parametric price quotes that still runs in production today, with the last major change at the start of 2026.
Three generations of the framework in one application: it started on
netcoreapp3.1 in 2019, moved to .NET 6 in November 2021 and to .NET 10
in November 2025. Development began in the month Blazor Server came out —
an uncertain choice back then, a matter of course today.
Seven years in production means seven years of pain, and there’s no point hiding it. In 2024 a breaking change in the MongoDB driver called for a hotfix on the fly. In 2026 the last dependency on .NET Framework fell away.
The most tangible result: a query for a customer’s credit limit took 38 seconds. After replacing a join with subqueries — having checked that they are logically equivalent, not just that they return the same test data — it dropped to 0.5 seconds.
Part of it is a custom evaluator for mathematical expressions: a tokenizer, trigonometric functions, user-defined variables. That’s because the parametric calculations run on formulas that a salesperson enters, not a programmer.
Stack: .NET 10, Blazor Server, MongoDB, EF Core, EPPlus, MailKit.