Table of Contents

FinancialServiceBuilderExtensions Class

Definition

Namespace
Bodu.Financial
Assembly
Bodu.Financial.DependencyInjection.dll
Package
Bodu.Financial.DependencyInjection 1.0.0
Source
FinancialServiceBuilderExtensions.cs

Provides the fluent registration surface for IFinancialServiceBuilder: currency lookup, named monetary contexts, and exchange-rate providers.

public static class FinancialServiceBuilderExtensions
Inheritance
FinancialServiceBuilderExtensions
Inherited Members

Remarks

IServiceCollection services = new ServiceCollection();

services.AddFinancialService(builder => builder
    .AddCurrencyLookup<MyCurrencyLookup>()
    .AddMonetaryContext("payroll", new MonetaryContext(CurrencyCode.EUR))
    .AddExchangeRateProvider<MyRateProvider>());

Methods

AddCurrencyLookup<TLookup>(IFinancialServiceBuilder)

Replaces the registered ICurrencyLookup with TLookup.

public static IFinancialServiceBuilder AddCurrencyLookup<TLookup>(this IFinancialServiceBuilder builder) where TLookup : class, ICurrencyLookup

Parameters

builder IFinancialServiceBuilder

The builder.

Returns

IFinancialServiceBuilder

The builder, for chaining.

Type Parameters

TLookup

The lookup implementation.

Exceptions

ArgumentNullException

builder is null.

AddDatedExchangeRateProvider(IFinancialServiceBuilder, IDatedRateProvider)

Registers an IDatedRateProvider instance as a singleton.

public static IFinancialServiceBuilder AddDatedExchangeRateProvider(this IFinancialServiceBuilder builder, IDatedRateProvider provider)

Parameters

builder IFinancialServiceBuilder

The builder.

provider IDatedRateProvider

The provider instance.

Returns

IFinancialServiceBuilder

The builder, for chaining.

Exceptions

ArgumentNullException

builder or provider is null.

AddDatedExchangeRateProvider<TProvider>(IFinancialServiceBuilder)

Registers an IDatedRateProvider implementation as a singleton.

public static IFinancialServiceBuilder AddDatedExchangeRateProvider<TProvider>(this IFinancialServiceBuilder builder) where TProvider : class, IDatedRateProvider

Parameters

builder IFinancialServiceBuilder

The builder.

Returns

IFinancialServiceBuilder

The builder, for chaining.

Type Parameters

TProvider

The provider implementation.

Exceptions

ArgumentNullException

builder is null.

AddExchangeRateProvider(IFinancialServiceBuilder, IRateProvider)

Registers an IRateProvider instance as a singleton.

public static IFinancialServiceBuilder AddExchangeRateProvider(this IFinancialServiceBuilder builder, IRateProvider provider)

Parameters

builder IFinancialServiceBuilder

The builder.

provider IRateProvider

The provider instance.

Returns

IFinancialServiceBuilder

The builder, for chaining.

Exceptions

ArgumentNullException

builder or provider is null.

AddExchangeRateProvider<TProvider>(IFinancialServiceBuilder)

Registers an IRateProvider implementation as a singleton.

public static IFinancialServiceBuilder AddExchangeRateProvider<TProvider>(this IFinancialServiceBuilder builder) where TProvider : class, IRateProvider

Parameters

builder IFinancialServiceBuilder

The builder.

Returns

IFinancialServiceBuilder

The builder, for chaining.

Type Parameters

TProvider

The provider implementation.

Exceptions

ArgumentNullException

builder is null.

AddMonetaryContext(IFinancialServiceBuilder, string, MonetaryContext)

Registers a named MonetaryContext resolvable as a keyed singleton.

public static IFinancialServiceBuilder AddMonetaryContext(this IFinancialServiceBuilder builder, string name, MonetaryContext context)

Parameters

builder IFinancialServiceBuilder

The builder.

name string

The key under which the context is registered.

context MonetaryContext

The monetary context.

Returns

IFinancialServiceBuilder

The builder, for chaining.

Exceptions

ArgumentNullException

builder or context is null.

ArgumentException

name is empty or white space.

Applies to

ProductVersions
.NET8, 10