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."); } }
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."); } }