예제 #1
0
        private async void BtConfirmar_Clicked(object sender, EventArgs e)
        {
            btConfirmar.IsEnabled = false;
            if (cidade.Text == "")
            {
                await DisplayAlert("", "Campo Cidade Obrigatório.", "Ok");

                btConfirmar.IsEnabled = true;
            }
            else if (pckTipoInstituicao.SelectedIndex == 0)
            {
                await DisplayAlert("", "Campo Tipo Instituição Obrigatório.", "Ok");

                btConfirmar.IsEnabled = true;
            }
            else if (SearchConteudo.Text == "")
            {
                await DisplayAlert("", "Campo Instituição Obrigatório.", "Ok");

                btConfirmar.IsEnabled = true;
            }
            else if (txtData.IsEnabled == false)
            {
                if (op == 1)
                {
                    await DisplayAlert("", "Campo Data da Visita Obrigatório.", "Ok");
                }
                else if (op == 2)
                {
                    await DisplayAlert("", "Campo Data da Revisita Obrigatório.", "Ok");
                }
                else
                {
                    await DisplayAlert("", "Campo Data é Obrigatório.", "Ok");
                }
                txtData.IsEnabled     = true;
                btConfirmar.IsEnabled = true;
            }
            else
            {
                QuestionarioApi      questionarioApi      = new QuestionarioApi();
                Instituto            _instituto           = institutoService.GetInstituto(nomeinstituto, 13); //Verificar a substituição do valor 13 pelo cidadeId
                DownloadQuestionario downloadQuestionario = new DownloadQuestionario();
                OnDateSelected();
                string idinstituto = _instituto.Id.ToString();
                string token       = Settings.Token;
                dataVisita = Convert.ToString(dataVisita.ToString());
                string respVisita = string.Empty;
                try
                {
                    var QuestionarioExist = databaseHelper.GetQuestionarioVisita(Convert.ToInt32(idinstituto), txtData.Date);
                    var idUsuario         = Convert.ToInt32(Settings.idUsuario);
                    if (QuestionarioExist.Count == 0)
                    {
                        using (var Dialog = UserDialogs.Instance.Loading("Gerando Questionário...", null, null, true, MaskType.Black))
                        {
                            var addQuestionario = new AddQuestionario
                            {
                                id                   = idUsuario,
                                instituicaoId        = Convert.ToInt32(idinstituto),
                                dataAplicacao        = dataVisita,
                                colaboradorExternoId = 0,
                                formaColetaId        = 0
                            };

                            string        jsonRequest = JsonConvert.SerializeObject(addQuestionario);
                            StringContent httpContent = new StringContent(jsonRequest, Encoding.UTF8, "application / json");
                            var           client      = new HttpClient();
                            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
                            var endereco = Settings.EnderecoApi;
                            //var orgaoEmissor = Settings.emissorExternoId;
                            client.BaseAddress = new Uri(endereco);
                            var url          = string.Format("visita/adicionar-visita");
                            var resultVisita = await client.PostAsync(url, httpContent);

                            respVisita = await resultVisita.Content.ReadAsStringAsync();

                            if (!resultVisita.IsSuccessStatusCode)
                            {
                                throw new Exception(resultVisita.RequestMessage.Content.ToString());
                            }
                            await Task.Delay(10000);
                        }
                        QuestionarioApi resposta;
                        using (var Dialog = UserDialogs.Instance.Loading("Sincronizando questionário...", null, null, true, MaskType.Black))
                        {
                            resposta = JsonConvert.DeserializeObject <QuestionarioApi>(respVisita);
                            await Task.CompletedTask;
                        }
                        if (resposta.success)
                        {
                            VisitaToken visitaToken;
                            bool        retorno;
                            using (var Dialog = UserDialogs.Instance.Loading("Sincronizando aspectos e questões...", null, null, true, MaskType.Black))
                            {
                                visitaToken = new VisitaToken();
                                retorno     = visitaToken.ConsumirVisita(resposta);
                                await Task.Delay(30000);
                            }
                            if (retorno)
                            {
                                await DisplayAlert("", "Questionário baixado com sucesso.", "Ok");

                                await Navigation.PushAsync(new VisualizarQuestionariosBaixados(), true);
                            }
                        }
                        else
                        {
                            await DisplayAlert("Erro", "Não é permitido baixar um questionário com emissor associado a outro órgão.", "Ok");
                        }
                    }
                    else
                    {
                        await DisplayAlert("", "Já possui um registro deste questionário no aplicativo.", "Ok");
                    }
                }
                catch (Exception ex)
                {
                    await DisplayAlert("", "Não existem registros para o(s) critério(s) informado(s).", "Ok");
                }
                btConfirmar.IsEnabled = true;
            }
        }
예제 #2
0
        private async void BtConfirmar_Clicked(object sender, EventArgs e)
        {
            btConfirmar.IsEnabled = false;
            if (cidade.Text == "")
            {
                await DisplayAlert("", "Campo Cidade Obrigatório.", "Ok");

                btConfirmar.IsEnabled = true;
            }
            else if (pckTipoInstituicao.SelectedIndex == 0)
            {
                await DisplayAlert("", "Campo Tipo Instituição Obrigatório.", "Ok");

                btConfirmar.IsEnabled = true;
            }
            else if (SearchConteudo.Text == "")
            {
                await DisplayAlert("", "Campo Instituição Obrigatório.", "Ok");

                btConfirmar.IsEnabled = true;
            }
            else if (txtData.IsEnabled == false)
            {
                if (op == 1)
                {
                    await DisplayAlert("", "Campo Data da Visita Obrigatório.", "Ok");
                }
                else if (op == 2)
                {
                    await DisplayAlert("", "Campo Data da Revisita Obrigatório.", "Ok");
                }
                else
                {
                    await DisplayAlert("", "Campo Data é Obrigatório.", "Ok");
                }
                txtData.IsEnabled     = true;
                btConfirmar.IsEnabled = true;
            }
            else
            {
                QuestionarioApi questionarioApi = new QuestionarioApi();
                var             Cidade          = databaseHelper.GetMunicipioData(nomeCidade);
                CidadeId = Cidade.Id;
                Instituto            _instituto           = institutoService.GetInstituto(nomeinstituto, CidadeId);
                DownloadQuestionario downloadQuestionario = new DownloadQuestionario();
                OnDateSelected();
                string idinstituto = _instituto.Id.ToString();
                string token       = Settings.Token;
                dataVisita = Convert.ToString(dataVisita.ToString());
                string respVisita = string.Empty;
                try
                {
                    var QuestionarioExist = databaseHelper.GetQuestionarioVisita(Convert.ToInt32(idinstituto), txtData.Date);
                    if (QuestionarioExist.Count == 0)
                    {
                        if (op == 1)
                        {
                            using (var Dialog = UserDialogs.Instance.Loading("Sincronizando...", null, null, true, MaskType.Black))
                            {
                                var client = new HttpClient();
                                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
                                var endereco     = Settings.EnderecoApi;
                                var orgaoEmissor = Settings.emissorExternoId;
                                client.BaseAddress = new Uri(endereco);
                                var url          = string.Format("visita/obter-visita/{0}/{1}/{2}", idinstituto, dataVisita, Settings.emissorExternoId);
                                var resultVisita = await client.GetAsync(url);

                                respVisita = await resultVisita.Content.ReadAsStringAsync();

                                if (!resultVisita.IsSuccessStatusCode)
                                {
                                    throw new Exception(resultVisita.RequestMessage.Content.ToString());
                                }
                                await Task.Delay(10000);
                            }
                        }
                        else if (op == 2)
                        {
                            using (var Dialog = UserDialogs.Instance.Loading("Sincronizando...", null, null, true, MaskType.Black))
                            {
                                var client = new HttpClient();
                                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
                                var endereco     = Settings.EnderecoApi;
                                var orgaoEmissor = Settings.emissorExternoId;
                                client.BaseAddress = new Uri(endereco);
                                var url          = string.Format("visita/obter-revisita/{0}/{1}/{2}", idinstituto, dataVisita, Settings.emissorExternoId);
                                var resultVisita = await client.GetAsync(url);

                                respVisita = await resultVisita.Content.ReadAsStringAsync();

                                if (!resultVisita.IsSuccessStatusCode)
                                {
                                    throw new Exception(resultVisita.RequestMessage.Content.ToString());
                                }
                                await Task.Delay(10000);
                            }
                        }

                        QuestionarioApi resposta;
                        using (var Dialog = UserDialogs.Instance.Loading("Sincronizando questionário...", null, null, true, MaskType.Black))
                        {
                            resposta = JsonConvert.DeserializeObject <QuestionarioApi>(respVisita);
                            await Task.CompletedTask;
                        }
                        if (resposta.success)
                        {
                            VisitaToken visitaToken;
                            bool        retorno;
                            using (var Dialog = UserDialogs.Instance.Loading("Sincronizando aspectos e questões...", null, null, true, MaskType.Black))
                            {
                                visitaToken = new VisitaToken();
                                retorno     = visitaToken.ConsumirVisita(resposta);
                                await Task.Delay(30000);
                            }
                            if (retorno)
                            {
                                await DisplayAlert("", "Questionário baixado com sucesso.", "Ok");

                                await Navigation.PushAsync(new VisualizarQuestionariosBaixados(), true);
                            }
                        }
                        else
                        {
                            await DisplayAlert("Erro", "Não é permitido baixar um questionário com emissor associado a outro órgão.", "Ok");
                        }
                    }
                    else
                    {
                        await DisplayAlert("", "Já possui um registro deste questionário no aplicativo.", "Ok");
                    }
                }

                catch (Exception ex)
                {
                    await DisplayAlert("", "Não existem registros para o(s) critério(s) informado(s).", "Ok");
                }

                /* if((op == 1)||(op==2))
                 * {
                 *   //var resposta = JsonConvert.DeserializeObject<QuestionarioApi>(respVisita);
                 *
                 *
                 *   using (var Dialog = UserDialogs.Instance.Loading("Sincronizando...", null, null, true, MaskType.Black))
                 *   {
                 *       questionarioApi = JsonConvert.DeserializeObject<QuestionarioApi>(respVisita);
                 *       //await Task.Delay(30000);
                 *   }
                 *   if (questionarioApi.data != null)
                 *   {
                 *       using (var Dialog = UserDialogs.Instance.Loading("Baixando Questionário...", null, null, true, MaskType.Black))
                 *       {
                 *           downloadQuestionario.BaixarQuestionario(idinstituto, token, dataVisita, op);
                 *           await Task.Delay(60000);
                 *       }
                 *       await DisplayAlert("", "Questionário baixado com sucesso.", "Ok");
                 *   }
                 *   else
                 *   {
                 *       await DisplayAlert("", "Nenhum registro encontrado.", "Ok");
                 *   }
                 *
                 * }
                 * else
                 * {
                 *   string day = _dataConsultaVisita.Day.ToString();
                 *   string month = _dataConsultaVisita.Month.ToString();
                 *   string year = _dataConsultaVisita.Year.ToString();
                 *   string datavisita = day + "/" + month + "/" + year;
                 *   var dataQuestionario = Convert.ToDateTime(datavisita);
                 *   //await Navigation.PushAsync(new VisualizarQuestionariosBaixados(idinstituto, dataQuestionario), true);
                 * }*/

                btConfirmar.IsEnabled = true;
            }
        }