main
1namespace solidware.financials.service.domain.accounting
2{
3 public delegate ConversionRatio RateTable(UnitOfMeasure unitCurrency, UnitOfMeasure referenceCurrency);
4
5 public abstract class SimpleUnitOfMeasure : UnitOfMeasure
6 {
7 public decimal convert(decimal amount, UnitOfMeasure other)
8 {
9 return rate_table(this, other).applied_to(amount);
10 }
11
12 public abstract string pretty_print(decimal amount);
13
14 static RateTable rate_table = (x, y) => ConversionRatio.Default;
15
16 static public void provide_rate(RateTable current_rates)
17 {
18 rate_table = current_rates;
19 }
20 }
21}