private async void AddNewCurrency() { IsBusy = true; if (_context.Currencies.FirstOrDefault(x => x.Name.Equals( NewCurrencyName, StringComparison.CurrentCultureIgnoreCase)) == null) { if (string.IsNullOrEmpty(NewCurrencyName)) { IsBusy = false; return; } var rest = new YahooXChangeRest(); var foundCurrency = await rest.CheckIfCurrencyExistsAsync(NewCurrencyName, BaseCurrency.Name); if (foundCurrency == null) { new ModernDialog { Title = "Error", Content = "No currency with symbol: " + NewCurrencyName.ToUpper() }.Show(); NewCurrencyName = String.Empty; IsBusy = false; return; } var res = foundCurrency.MapToEntity(); _context.Currencies.Add(res); await _context.SaveChangesAsync(); // adding to an observable collections Messenger.Default.Send(res, "newCurrencyMsg"); Currencies.Add(res); } else { new ModernDialog { Title = "Error", Content = "Following currency already exists: " + NewCurrencyName.ToUpper() }.Show(); } NewCurrencyName = String.Empty; IsBusy = false; }
private async Task UpdateCurrencies() { IsBusy = true; var rest = new YahooXChangeRest(); var currencies = await rest.TakeExchangesAsync( Currencies.ToListOfString(), BaseCurrency.Name); if (currencies == null) { new ModernDialog { Title = "Error", Content = "Connection problems" }.Show(); } else { Currencies.Update(currencies); } IsBusy = false; }