Esempio n. 1
0
        public async Task Download()
        {
            try
            {
                JObject obj = new JObject();
                obj["data"] = String.Format("{0:dd/MM/yyyy HH:mm:ss}", DateTime.Now);

                HttpResponseMessage resposta = await ws.Post("obterPesquisas", obj);

                String message = await resposta.Content.ReadAsStringAsync();

                if (resposta.IsSuccessStatusCode)
                {
                    ListPesquisas listPesquisas = JsonConvert.DeserializeObject <ListPesquisas>(message);

                    this.listPesquisas.AddRange(listPesquisas.pesquisas);

                    var groupPesquisas = listPesquisas.pesquisas.GroupBy(o => o.pesquisa01.idpesquisa01);

                    foreach (var grpPesq in groupPesquisas)
                    {
                        foreach (var pesq in grpPesq)
                        {
                            await ObterDadosPerguntas(pesq.pesquisa01.idpesquisa01);
                        }
                    }

                    dao06.DeleteAll();
                    dao01.DeleteAll();
                    dao03.DeleteAll();
                    dao04.DeleteAll();
                    dao02.DeleteAll();

                    var group01 = this.listPesquisas.GroupBy(o => o.pesquisa01.idpesquisa01);

                    foreach (var grp1 in group01)
                    {
                        var pq01 = this.listPesquisas.FirstOrDefault(o => o.pesquisa01.idpesquisa01 == grp1.Key).pesquisa01;
                        dao01.InserirPesquisa(pq01);
                    }

                    var group06 = listPesquisas.pesquisas.GroupBy(o => o.idpesquisa06);

                    foreach (var grp6 in group06)
                    {
                        var onda = this.listPesquisas.FirstOrDefault(o => o.idpesquisa06 == grp6.Key);
                        onda.idpesquisa01 = onda.pesquisa01.idpesquisa01;
                        dao06.InserirOnda(onda);
                    }

                    var group02 = this.listPerguntas.Where(w => w.pesquisa02.idpesquisa02 != 0).GroupBy(o => o.pesquisa02.idpesquisa02);

                    foreach (var grp2 in group02)
                    {
                        var tipo = this.listPerguntas.Where(w => w.pesquisa02.idpesquisa02 != 0).FirstOrDefault(o => o.pesquisa02.idpesquisa02 == grp2.Key).pesquisa02;
                        dao02.InserirTipo(tipo);
                    }

                    var group02outros = this.listPerguntas.Where(w => w.pesquisa02outros != null && w.pesquisa02outros.idpesquisa02 != 0).GroupBy(o => o.pesquisa02outros.idpesquisa02);

                    foreach (var grp2outros in group02outros)
                    {
                        var tipo = this.listPerguntas.Where(w => w.pesquisa02outros != null && w.pesquisa02outros.idpesquisa02 != 0).FirstOrDefault(o => o.pesquisa02outros.idpesquisa02 == grp2outros.Key).pesquisa02outros;

                        var tipooutros = group02.FirstOrDefault(o => o.Key == grp2outros.Key);

                        if (tipooutros == null)
                        {
                            dao02.InserirTipo(tipo);
                        }
                    }

                    var group03 = this.listPerguntas.Where(w => w.pesquisa02.idpesquisa02 != 0 && w.pesquisa03.idpesquisa03 != 0).GroupBy(o => o.pesquisa03.idpesquisa03);

                    foreach (var grp3 in group03)
                    {
                        var valor = this.listPerguntas.Where(w => w.pesquisa02.idpesquisa02 != 0 && w.pesquisa03.idpesquisa03 != 0).FirstOrDefault(o => o.pesquisa03.idpesquisa03 == grp3.Key);
                        valor.pesquisa03.idpesquisa02 = valor.pesquisa03.pesquisa02.idpesquisa02;
                        dao03.InserirValor(valor.pesquisa03);
                    }

                    /*var group03outros = this.listPerguntas.Where(w => w.pesquisa02.idpesquisa02 != 0 && w.pesquisa02outros != null && w.pesquisa02outros.idpesquisa02 != 0 && w.pesquisa03.idpesquisa03 != 0).GroupBy(o => o.pesquisa03.idpesquisa03);
                     *
                     * foreach (var grp3outros in group03outros)
                     * {
                     *
                     *      var valor = this.listPerguntas.Where(w => w.pesquisa02.idpesquisa02 != 0 && w.pesquisa02outros != null && w.pesquisa02outros.idpesquisa02 != 0 && w.pesquisa03.idpesquisa03 != 0).FirstOrDefault(o => o.pesquisa03.idpesquisa03 == grp3outros.Key);
                     *      valor.pesquisa03.idpesquisa02 = valor.pesquisa02outros.idpesquisa02;
                     *
                     *      var groupoutros = group03.FirstOrDefault(o => o.Key == grp3outros.Key);
                     *
                     *      if (groupoutros == null)
                     *              dao03.InserirValor(valor.pesquisa03);
                     *
                     * }*/

                    var group04 = this.listPerguntas.Where(w => w.idpesquisa04 != 0).GroupBy(o => o.idpesquisa04);

                    foreach (var grp4 in group04)
                    {
                        var pergunta = this.listPerguntas.FirstOrDefault(o => o.idpesquisa04 == grp4.Key);
                        pergunta.idpesquisa02 = pergunta.pesquisa02.idpesquisa02;
                        if (pergunta.pesquisa02outros != null)
                        {
                            pergunta.idpesquisa02outros = pergunta.pesquisa02outros.idpesquisa02;
                        }
                        dao04.InserirPergunta(pergunta);
                    }

                    listPesquisas      = null;
                    this.listPesquisas = null;
                    this.listPerguntas = null;
                }
                else
                {
                    throw new Exception(message);
                }
            }
            catch (Exception e)
            {
                throw new Exception("Não foi possível efetuar o download dos dados.");
            }
        }
Esempio n. 2
0
        public async Task Download(String dataInicio, String dataFim)
        {
            try
            {
                JObject obj = new JObject();
                obj["dataInicio"] = dataInicio;
                obj["dataFim"]    = dataFim;

                var pesquisador = Utils.ObterPesquisadorLogado();

                obj["idcliente"] = pesquisador.idcliente;

                HttpResponseMessage resposta = await ws.Post("obterPesquisasPorPeriodo", obj);

                String message = await resposta.Content.ReadAsStringAsync();

                if (resposta.IsSuccessStatusCode)
                {
                    ListPesquisas listPesquisas = JsonConvert.DeserializeObject <ListPesquisas>(message);

                    this.listPesquisas.AddRange(listPesquisas.pesquisas);

                    var groupPesquisas = listPesquisas.pesquisas.GroupBy(o => o.pesquisa01.idpesquisa01);

                    foreach (var grpPesq in groupPesquisas)
                    {
                        var pesquisa = this.listPesquisas.FirstOrDefault(o => o.pesquisa01.idpesquisa01 == grpPesq.Key);

                        await ObterDadosPerguntas(pesquisa.pesquisa01.idpesquisa01);
                    }

                    dao06.DeleteAll();
                    dao01.DeleteAll();
                    dao03.DeleteAll();
                    dao04.DeleteAll();
                    dao02.DeleteAll();

                    var group01 = this.listPesquisas.GroupBy(o => o.pesquisa01.idpesquisa01);

                    foreach (var grp1 in group01)
                    {
                        var pq01 = this.listPesquisas.FirstOrDefault(o => o.pesquisa01.idpesquisa01 == grp1.Key).pesquisa01;

                        dao01.InserirPesquisa(pq01);
                    }

                    var group06 = listPesquisas.pesquisas.GroupBy(o => o.idpesquisa06);

                    foreach (var grp6 in group06)
                    {
                        var onda = this.listPesquisas.FirstOrDefault(o => o.idpesquisa06 == grp6.Key);
                        onda.idpesquisa01 = onda.pesquisa01.idpesquisa01;
                        dao06.InserirOnda(onda);
                    }

                    var group02 = this.listPerguntas.Where(w => w.pesquisa02.idpesquisa02 != 0).GroupBy(o => o.pesquisa02.idpesquisa02);

                    foreach (var grp2 in group02)
                    {
                        var tipo = this.listPerguntas.Where(w => w.pesquisa02.idpesquisa02 != 0).FirstOrDefault(o => o.pesquisa02.idpesquisa02 == grp2.Key).pesquisa02;
                        dao02.InserirTipo(tipo);
                    }

                    var group03 = this.listPerguntas.Where(w => w.pesquisa03.idpesquisa03 != 0).GroupBy(o => o.pesquisa03.idpesquisa03);


                    foreach (var grp3 in group03)
                    {
                        var valor = this.listPerguntas.Where(w => w.pesquisa02.idpesquisa02 != 0 && w.pesquisa03.idpesquisa03 != 0).FirstOrDefault(o => o.pesquisa03.idpesquisa03 == grp3.Key);
                        valor.pesquisa03.idpesquisa02 = valor.pesquisa02.idpesquisa02;
                        dao03.InserirValor(valor.pesquisa03);
                    }

                    var group04 = this.listPerguntas.Where(w => w.idpesquisa04 != 0).GroupBy(o => o.idpesquisa04);

                    foreach (var grp4 in group04)
                    {
                        var pergunta = this.listPerguntas.FirstOrDefault(o => o.idpesquisa04 == grp4.Key);
                        pergunta.idpesquisa02 = pergunta.pesquisa02.idpesquisa02;
                        dao04.InserirPergunta(pergunta);
                    }

                    listPesquisas      = null;
                    this.listPesquisas = null;
                    this.listPerguntas = null;
                }
                else
                {
                    throw new Exception(message);
                }
            }
            catch (Exception)
            {
                throw new Exception("Não foi possível efetuar o download dos dados.");
            }
        }