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