예제 #1
0
        void SaveButton_Click(object sender, EventArgs e)
        {
            CloudData = new CloudDataStore();
            db        = new DataBase();

            ProgressDialog pbar = new ProgressDialog(this);

            pbar.SetCancelable(false);
            pbar.SetMessage("Validando chave...");
            pbar.SetProgressStyle(ProgressDialogStyle.Horizontal);
            pbar.Progress = 0;
            pbar.Max      = 100;
            pbar.Show();

            bool sucesso = false;

            new Thread(new ThreadStart(async delegate
            {
                if (await CloudData.ValidarChave(licenca.Text))
                {
                    sucesso = true;
                }

                if (sucesso)
                {
                    RunOnUiThread(() => { Toast.MakeText(this, "Chave validada com sucesso.", ToastLength.Long).Show(); });
                    RunOnUiThread(() => { pbar.SetMessage("Sincronizando dados básicos..."); });
                    pbar.Progress += 25;
                    if (await CloudData.MunicipiosSync(licenca.Text) &&
                        await CloudData.LocalidadeSync(licenca.Text))
                    {
                        pbar.Progress += 25;
                        bool result    = await CloudData.UsuarioSync(licenca.Text);
                        if (result)
                        {
                            pbar.Progress += 25;
                            var conf2      = new Config
                            {
                                Descricao = "carga_inicial",
                                Valor     = "1"
                            };
                            if (db.InserirConfig(conf2))
                            {
                                pbar.Progress += 25;
                            }
                        }
                    }

                    Thread.Sleep(400);

                    if (pbar.Progress >= 100)
                    {
                        var intent = new Intent(this, typeof(LoginActivity));;
                        StartActivity(intent);
                        Finish();
                        pbar.Dismiss();
                    }

                    RunOnUiThread(() => { pbar.SetMessage("Dados importados..."); });
                    RunOnUiThread(() => { Toast.MakeText(this, "Dados importados com sucesso.", ToastLength.Long).Show(); });
                    // SyncInstall();
                }
                else
                {
                    pbar.Dismiss();
                    RunOnUiThread(() => { Toast.MakeText(this, "Chave não encontrada.", ToastLength.Long).Show(); });
                }
            })).Start();



            //  Finish();
        }