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     = "";
            });
        }
        private async void OnDeleteExchangeRate(ExchangeRate exchangeRate)
        {
            if (_accessUtility.HasAccess(33))
            {
                if (Deleting())
                {
                    try
                    {
                        await _exchangeRatesService.DeleteExchangeRateAsync(exchangeRate.ExchangeRateId);

                        ExchangeRates.Remove(exchangeRate);
                        Deleted();
                    }
                    catch (Exception ex)
                    {
                        Failed(ex);
                    }
                }
            }
        }