//async - método assincrono private async void LoadRates() { bool load; /*variável para controlar se o load das taxas já foi feito*/ //Fazer o check da connection LabelResultado.Text = "A atualizar taxas..."; var connection = netWorkService.CheckConnection(); /*variavel para testar a conecção*/ if (!connection.IsSuccecc) { //Carregar as taxas da base de dados LoadLocalRates(); load = false; } else { //Vou chamar a API através de um método await LoadApiRates(); load = true; } //as listas não foram carregadas if (Rates.Count == 0) { LabelResultado.Text = "Não há ligação à internet" + Environment.NewLine + "e não foram carregadas previamente as taxas." + Environment.NewLine + "Tente mais tarde!"; LabelStatus.Text = "Primeira inicialização deverá ter ligação à Internet!"; return; } ComboBoxOrigem.DataSource = Rates; ComboBoxOrigem.DisplayMember = "Name"; // Corrige bug da microsoft // Para que possa alterar a taxa de uma ComboBox sem que altere na outra ComboBox // BindingContext - Classe que liga os objetos do interface ao código ComboBoxDestino.BindingContext = new BindingContext(); ComboBoxDestino.DataSource = Rates; ComboBoxDestino.DisplayMember = "Name"; if (load) /*taxas carregadas da API*/ { LabelStatus.Text = string.Format("Taxas carregadas da internet em {0:F}", DateTime.Now); } else /*taxas carregadas da base de dados*/ { LabelStatus.Text = "Taxas carregadas da Base de Dados."; } ProgressBar1.Value = 100; LabelResultado.Text = "Taxas atualizadas..."; ButtonConverter.Enabled = true; ButtonTrocar.Enabled = true; }
private async void LoadRates() { bool load; labelResultado.Text = "A atualizar taxas..."; var connection = netWorkService.CheckConnection(); if (!connection.IsSuccess) { LoadLocalRates(); load = false; } else { await LoadApiRates(); load = true; } if (Rates.Count == 0) { labelResultado.Text = "Não há ligação a internet" + Environment.NewLine + "e não foram previmente carregadas as taxas." + Environment.NewLine + "tente mais tarde!"; labelStatus.Text = "Primeira inicialização devera ter ligação a internet"; return; } comboBoxOrigem.DataSource = Rates; comboBoxOrigem.DisplayMember = "Name"; comboBoxDestino.BindingContext = new BindingContext(); comboBoxDestino.DataSource = Rates; comboBoxDestino.DisplayMember = "Name"; labelResultado.Text = "Taxas Carregadas..."; if (load) { labelStatus.Text = string.Format("Taxas carregadas da internet em {0:F}", DateTime.Now); } else { labelStatus.Text = string.Format("Taxas carregadas na base de dados."); } progressBar1.Value = 100; ButtonConverter.Enabled = true; buttonTroca.Enabled = true; }