Example #1
0
        private void InserirBancoLocal()
        {
            var stringBuilder = new System.Text.StringBuilder();

            var guid = Guid.NewGuid();

            foreach (var item in Perguntas)
            {
                var questionario = new QuestionarioDB()
                {
                    Guid           = guid.ToString(),
                    Data           = DateTime.Now.ToString(),
                    IdPergunta     = item.Id,
                    IdQuestionario = 1,
                    IdResposta     = item.IdAlternativa,
                    Resposta       = item.Resposta,
                    Longitude      = Longitude.ToString(),
                    Latitude       = Latitude.ToString()
                };

                stringBuilder.AppendFormat("{0};", questionario.InsertQuery);
            }

            UtilDataBase.Save(stringBuilder.ToString());
        }
Example #2
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));
                }
            });
        }