示例#1
0
        private void BtnEnviarColeta_Click(object sender, EventArgs e)
        {
            if (Perguntas.Where(p => p.IdAlternativa == 0 && String.IsNullOrEmpty(p.Resposta)).Count() > 0)
            {
                Modal.ExibirModal(this, "Pergunta não preenchida", "", "Nem todas as perguntas foram respondidas. Gentileza verificar.");
            }
            else if (Latitude == 0 && Longitude == 0)
            {
                Modal.ExibirModal(this, "GPS", "", "Não foi possível identificar sua localização. Verifique se o GPS está ligado e tente novamente.");
            }
            else
            {
                ProgressDialog loading = null;
                RunOnUiThread(() =>
                {
                    loading = ProgressDialog.Show(this, "Salvando dados localmente", "Isso pode demorar um pouco.\nFavor aguardar!", true);
                });

                InserirBancoLocal();

                if (loading.IsShowing && loading != null)
                {
                    loading.Dismiss();
                }

                Toast.MakeText(this, "Dados salvos localmente com sucesso.", ToastLength.Long).Show();

                Finish();

                var activity = new Intent(this, typeof(TelaInicialActivity));
                StartActivity(activity);
            }
        }
示例#2
0
        private void VerificaLogin(string token)
        {
            if (!string.IsNullOrWhiteSpace(token))
            {
                Aplicacao.Token = token;

                SalvaBancoLocal(token);
                ExibirTelaInicial();
            }
            else
            {
                Modal.ExibirModal(this, GetString(Resource.String.AutenticacaoInvalidaTitulo), "", GetString(Resource.String.AutenticacaoInvalidaMensagem));
            }
        }
示例#3
0
        private async void BtnLogin_Click(object sender, EventArgs e)
        {
            var txtUsuario = (FindViewById <EditText>(Resource.Id.txtUsuario));
            var txtSenha   = (FindViewById <EditText>(Resource.Id.txtPassword));
            var mensagem   = Resource.String.LoadingTitulo.ToString();

            await Task.Run(async() =>
            {
                if (UtilAcessibilidade.VerificaAcessoInternet(this))
                {
                    if (!string.IsNullOrEmpty(txtUsuario.Text) && !string.IsNullOrEmpty(txtSenha.Text))
                    {
                        ProgressDialog loading = null;

                        RunOnUiThread(() =>
                        {
                            loading = ProgressDialog.Show(this, "Entrando", "Isso pode demorar um pouco.\nFavor aguardar!", true);
                        });

                        var entrada = new AutenticacaoEntradaDTO()
                        {
                            Usuario = txtUsuario.Text.Trim(), Senha = txtSenha.Text
                        };
                        var saida = await WebService.PostAsync <AutenticacaoEntradaDTO, AutenticacaoSaidaDTO>(entrada, CaminhoWebService.AUTENTICACAO);

                        if (loading.IsShowing && loading != null)
                        {
                            loading.Dismiss();
                        }

                        VerificaLogin(saida.Token);
                    }
                    else
                    {
                        Modal.ExibirModal(this, "Email ou senha em branco", "", "Gentileza informar os campos E-mail e Senha");
                    }
                }
                else
                {
                    Modal.ExibirModal(this, GetString(Resource.String.ConexaoInternetTitulo), "", GetString(Resource.String.ConexaoInternetMensagem));
                }
            });

            //Esconder o teclado antes de passar para próxima Activity
            InputMethodManager im = (InputMethodManager)this.GetSystemService(Context.InputMethodService);

            im.HideSoftInputFromWindow(Window.DecorView.WindowToken, HideSoftInputFlags.NotAlways);
        }
示例#4
0
        private async void EnviarRespostas()
        {
            await Task.Run(async() =>
            {
                if (UtilAcessibilidade.VerificaAcessoInternet(this))
                {
                    ProgressDialog loading = null;

                    RunOnUiThread(() =>
                    {
                        loading = ProgressDialog.Show(this, "Enviando coletas realizadas", "Isso pode demorar um pouco.\nFavor aguardar!", true);
                    });


                    var respostasDB = UtilDataBase.GetItems(QuestionarioDB.TableName);

                    var questionariosInseridos = new List <ColetaEntradaDTO>();


                    var registro = new QuestionarioDB();


                    var request = new ColetaEntradaDTO();

                    string guid   = string.Empty;
                    var respostas = new List <RespostaDto>();

                    foreach (DataRow item in respostasDB.Rows)
                    {
                        registro.ConvertDr(item);

                        if (guid != registro.Guid)
                        {
                            if (respostas.Count > 0)
                            {
                                request.Respostas = respostas;
                                await WebService.PostSemSaida <ColetaEntradaDTO>(request, CaminhoWebService.RESPOSTAS, Aplicacao.Token);
                                respostas = new List <RespostaDto>();
                            }

                            request = new ColetaEntradaDTO()
                            {
                                Data      = Convert.ToDateTime(registro.Data),
                                Latitude  = Convert.ToDouble(registro.Latitude),
                                Longitude = Convert.ToDouble(registro.Longitude),
                            };
                        }

                        respostas.Add(new RespostaDto()
                        {
                            IdOpcaoResposta = registro.IdResposta > 0 ? (int?)registro.IdResposta : null,
                            IdPergunta      = registro.IdPergunta,
                            Valor           = registro.Resposta
                        });


                        guid = registro.Guid;
                    }

                    if (respostas.Count > 0)
                    {
                        request.Respostas = respostas;
                        await WebService.PostSemSaida <ColetaEntradaDTO>(request, CaminhoWebService.RESPOSTAS, Aplicacao.Token);
                        respostas = new List <RespostaDto>();
                    }

                    UtilDataBase.Delete(QuestionarioDB.TableName);

                    if (loading.IsShowing && loading != null)
                    {
                        loading.Dismiss();
                    }

                    RunOnUiThread(() =>
                    {
                        Toast.MakeText(this, "Coletas sincronizadas com sucesso!", ToastLength.Long).Show();
                        ValidarExibicaoSicronizarColeta();
                    });
                }
                else
                {
                    Modal.ExibirModal(this, GetString(Resource.String.ConexaoInternetTitulo), "", GetString(Resource.String.ConexaoInternetMensagem));
                }
            });
        }