public Money As(Currency currency) { if (currency == Currency) { return(this); } var newValue = CurrencyConverter.Convert(Value).From(Currency).To(currency); return(new Money(newValue, currency)); }
public static bool operator ==(Money x, Money y) { if (y == null) { return(false); } var newYValue = CurrencyConverter.Convert(y.Value).From(y.Currency).To(x.Currency); return(x.Value == newYValue); }
public static bool operator <(Money x, Money y) { var newYValue = CurrencyConverter.Convert(y.Value).From(y.Currency).To(x.Currency); return(x.Value < newYValue); }
public static Money operator-(Money x, Money y) { var newYValue = CurrencyConverter.Convert(y.Value).From(y.Currency).To(x.Currency); return(new Money(x.Value - newYValue, x.Currency)); }
public static decimal operator/(Money x, Money y) { var newYValue = CurrencyConverter.Convert(y.Value).From(y.Currency).To(x.Currency); return(x.Value / newYValue); }