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();
 }