private void NewRate(LatestPriceResultMessage result)
        {
            UiDispatcher.Invoke(() =>
            {
                var e = ExchangeRates.FirstOrDefault(x => x.IsSimilarRequest(result));
                if (e != null)
                {
                    ExchangeRates.Remove(e);
                }
                ExchangeRates.Add(result);

                var exrs = ExchangeRates.OrderBy(x => x.Pair.ToString()).ToList();
                ExchangeRates.Clear();

                foreach (var er in exrs)
                {
                    ExchangeRates.Add(er);
                }

                if (AssetLeft.IsNone() || AssetRight.IsNone() || ConvertLeft == 0)
                {
                    return;
                }

                var ap = new AssetPair(AssetLeft, AssetRight);
                if (!result.Pair.Equals(ap))
                {
                    return;
                }

                _isConverted    = result.IsConverted;
                ResultViewModel = new ExchangeRateResultViewModel(this, result);
                LoadingInfo     = "";
            });
        }
Exemple #2
0
        public OrdersUserControlViewModel()
        {
            ValidationWebService validationWebService = new ValidationWebService();

            ExchangeRates = validationWebService.GetRates().ToList();
            orders        = new ObservableCollection <Order>();
            invoices      = new ObservableCollection <Invoice>();
            Task.Factory.StartNew(() => GetOrders());
            selectedRate = ExchangeRates.FirstOrDefault(e => e.Currency == "USD");
        }
        private IExchangeRate getExchangeRateFromForeignId(Guid foreignCurrencyId)
        {
            var currencyExchange = ExchangeRates.FirstOrDefault(c => c.ToCurrencyId == foreignCurrencyId);

            return(currencyExchange);
        }