public Price ConvertPrice(double priceValue, CurrencyRecord currencyFrom, CurrencyRecord currencyTo) { if (currencyFrom == currencyTo) { return(new Price { Value = priceValue, Currency = currencyFrom }); } var currencyExchange = CurrencyExchanges .First(e => e.CurrencyFrom == currencyFrom && e.CurrencyTo == currencyTo); var exchangeRate = IsCurrentUserSeller ? currencyExchange.RateForSeller : currencyExchange.RateForBuyer; var convertedPrice = new Price { Value = priceValue * exchangeRate, Currency = CurrentUserCurrency }; return(convertedPrice); }
public Price ConvertPrice(double priceValue, CurrencyRecord currencyFrom, ExchangeRateFor exchangeRateFor) { if (currencyFrom == CurrentUserCurrency) { return(new Price { Value = priceValue, Currency = currencyFrom }); } var currencyExchange = CurrencyExchanges .First(e => e.CurrencyFrom == currencyFrom && e.CurrencyTo == CurrentUserCurrency); double exchangeRate; switch (exchangeRateFor) { case ExchangeRateFor.Buyer: exchangeRate = currencyExchange.RateForBuyer; break; case ExchangeRateFor.Seller: exchangeRate = currencyExchange.RateForSeller; break; default: throw new ArgumentOutOfRangeException("exchangeRateFor", exchangeRateFor, null); } var convertedPrice = new Price { Value = priceValue * exchangeRate, Currency = CurrentUserCurrency }; return(convertedPrice); }
protected override void GetFormSourceData() { _list = CurrencyExchanges.GetList(); }