MortgageCalculators 1.0.0-rc1
See the version list below for details.
dotnet add package MortgageCalculators --version 1.0.0-rc1
NuGet\Install-Package MortgageCalculators -Version 1.0.0-rc1
<PackageReference Include="MortgageCalculators" Version="1.0.0-rc1" />
<PackageVersion Include="MortgageCalculators" Version="1.0.0-rc1" />
<PackageReference Include="MortgageCalculators" />
paket add MortgageCalculators --version 1.0.0-rc1
#r "nuget: MortgageCalculators, 1.0.0-rc1"
#:package MortgageCalculators@1.0.0-rc1
#addin nuget:?package=MortgageCalculators&version=1.0.0-rc1&prerelease
#tool nuget:?package=MortgageCalculators&version=1.0.0-rc1&prerelease
Mortgage Calculators
A collection of C# calculators for mortgage affordability, loan comparison, and refinancing, with robust input validation using FluentValidation.
Features
- Affordability Calculator: Estimate how much home you can afford.
- Loan Comparison Calculator: Compare different loan options.
- Refinance Calculator: Analyze the benefits of refinancing your mortgage.
- Input Validation: All request models are validated using FluentValidation.
Getting Started
Prerequisites
- .NET 8 SDK
- FluentValidation NuGet package
Installation
Clone the repository:
git clone https://github.com/dalvare/mortgage-calculators.git cd mortgage-calculators
Restore dependencies:
dotnet restore
Configuring FluentValidation
Install FluentValidation (if not already installed):
dotnet add package FluentValidation
Register Validators (for example, in your DI container if using ASP.NET Core):
using FluentValidation; using Calculators.Models; using Calculators.Validation.Validators; builder.Services.AddValidatorsFromAssemblyContaining<AffordabilityRequestValidator>();
If you are not using dependency injection, you can instantiate validators directly:
var validator = new AffordabilityRequestValidator(); var result = validator.Validate(request); if (!result.IsValid) { // Handle validation errors }
Using Validators in Tests
The project uses FluentValidation.TestHelper for unit testing validators. Example:
var validator = new AffordabilityRequestValidator(); var result = validator.TestValidate(request); result.ShouldNotHaveAnyValidationErrors();
Running Tests
Run all unit tests using:
dotnet test
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net9.0
- FluentValidation (>= 12.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Includes affordability calculator, loan comparison calculator, and refinance calculator with FluentValidation support.