protected internal void SincronizarClick(object sender, EventArgs e) { CloudData = new CloudDataStore(); db = new DataBase(); TextView TVResult = FindViewById <TextView>(Resource.Id.TVResultado); ProgressDialog pbar = new ProgressDialog(this); pbar.SetCancelable(false); pbar.SetMessage("Sincronizando dados do sistema..."); pbar.SetProgressStyle(ProgressDialogStyle.Horizontal); pbar.Progress = 0; pbar.Max = 100; pbar.Show(); new Thread(new ThreadStart(async delegate { // Baixa o conteúdo da Web pro App; if (await CloudData.BaixarPlantio(null)) { pbar.Progress += 5; } if (await CloudData.BaixarInstalacao(null)) { pbar.Progress += 5; } if (await CloudData.BaixarManutencao(null)) { pbar.Progress += 10; } if (await CloudData.BaixarPlanejamentoAplic(null) && await CloudData.BaixarAplicacao(null)) { pbar.Progress += 10; } if (await CloudData.BaixarPlanejamentoAval(null) && await CloudData.BaixarAvaliacao(null)) { pbar.Progress += 10; } if (await CloudData.MunicipiosSync(null) && await CloudData.LocalidadeSync(null)) { pbar.Progress += 5; if (await CloudData.UsuarioSync(null)) { pbar.Progress += 5; } } if (await CloudData.BaixarCultura(null) && await CloudData.BaixarEquipamento(null)) { pbar.Progress += 10; } if (await CloudData.BaixarEstudos(null) && await CloudData.BaixarAplicPlan(null) && await CloudData.BaixarAvalPlan(null)) { pbar.Progress += 5; } if (await CloudData.BaixarVariedade(null) && await CloudData.BaixarTipoAvaliacao(null)) { pbar.Progress += 10; } if (await CloudData.BaixarSafra(null) && await CloudData.BaixarAlvo(null)) { pbar.Progress += 5; } if (await CloudData.BaixarUmidade(null) && await CloudData.BaixarGleba(null)) { pbar.Progress += 5; } if (await CloudData.BaixarProdutos(null) && await CloudData.BaixarBBCHEstagio(null) /* && * await CloudData.BaixarBBCH(null)*/) { pbar.Progress += 5; } if (await CloudData.BaixarSolo(null) && await CloudData.BaixarCobertura(null)) { pbar.Progress += 5; } if (await CloudData.BaixarManutencaoTipo(null) && await CloudData.BaixarManutencaoObj(null) && await CloudData.BaixarUnidadeMedida(null)) { pbar.Progress += 5; } if (pbar.Progress >= 100) { Thread.Sleep(800); RunOnUiThread(() => { TVResult.Text = "Sincronização efetuada com sucesso!"; TVResult.SetTextColor(Android.Graphics.Color.DarkGreen); }); RunOnUiThread(() => { Toast.MakeText(this, "Dados importados com sucesso.", ToastLength.Long).Show(); }); pbar.Dismiss(); } else { RunOnUiThread(() => { TVResult.Text = "Erro ao baixar os dados do servidor!"; TVResult.SetTextColor(Android.Graphics.Color.Red); }); pbar.Dismiss(); } RunOnUiThread(() => { pbar.SetMessage("Dados importados..."); }); })).Start(); }