Пример #1
0
        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;
        }
Пример #2
0
        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;
        }