public SincronizadorDTO PegarDadosParaSolicitarSincronia() { try { conexao.Open(); IDbCommand selectGroupCmd = conexao.CreateCommand(); selectGroupCmd.CommandText = "select Grupo from Mensagem group by Grupo"; List <GrupoSincronizadoresPaiDTO> ListaGrupoSincronizadores = new List <GrupoSincronizadoresPaiDTO>(); IDataReader resultadoGroup = selectGroupCmd.ExecuteReader(); while (resultadoGroup.Read()) { var grupoSincronizadoresPaiDTO = new GrupoSincronizadoresPaiDTO() { IdGrupo = Convert.ToInt32(resultadoGroup["Grupo"]) }; if (!grupoSincronizadoresPaiDTO.Equals(null)) { ListaGrupoSincronizadores.Add(grupoSincronizadoresPaiDTO); } } conexao.Close(); conexao.Open(); SincronizadorDTO sincronizador = new SincronizadorDTO(); foreach (GrupoSincronizadoresPaiDTO obj in ListaGrupoSincronizadores) { IDbCommand selectCmd = conexao.CreateCommand(); selectCmd.CommandText = "select PaiSyncronia,MAX(ContSyncronia) as MaxContSyncronia from Mensagem where Grupo = " + obj.IdGrupo + " group by PaiSyncronia"; List <PaiSincronia> listaPaiSincronias = new List <PaiSincronia>(); IDataReader resultado = selectCmd.ExecuteReader(); while (resultado.Read()) { var paiSyncronia = new PaiSincronia() { Id = Convert.ToInt32(resultado["PaiSyncronia"]), MaxSincronia = Convert.ToInt32(resultado["MaxContSyncronia"]) }; if (!paiSyncronia.Equals(null)) { listaPaiSincronias.Add(paiSyncronia); } } obj.SincroniasPai = listaPaiSincronias; sincronizador.ListaDeGruposSincroniaPay.Add(obj); conexao.Close(); }//fim foreach return(sincronizador); } catch (Exception ex) { throw new Exception(ex.Message); } finally { conexao.Close(); } }
public List <GrupoSincronizadoresPaiDTO> PegarDadosParaSolicitarSincronia(SincronizadorDTO objSinc) { try { conexao.Open(); List <GrupoSincronizadoresPaiDTO> ListaGrupoSincronizadores = new List <GrupoSincronizadoresPaiDTO>(); foreach (GrupoSincronizadoresPaiDTO obj in objSinc.ListaDeGruposSincroniaPay) { GrupoSincronizadoresPaiDTO grupoSincronizadoresPaiDTO = new GrupoSincronizadoresPaiDTO(); foreach (PaiSincronia objPaisSinc in obj.SincroniasPai) { IDbCommand selectCmd = conexao.CreateCommand(); selectCmd.CommandText = "select PaiSyncronia, MAX(ContSyncronia) as MaxSincronia from Mensagem where Grupo = " + obj.IdGrupo + " and ContSyncronia< " + objPaisSinc.MaxSincronia + " and((select Max(ContSyncronia) from Mensagem) < " + objPaisSinc.MaxSincronia + ") Group by PaiSyncronia"; List <PaiSincronia> listaPaiSincronias = new List <PaiSincronia>(); IDataReader resultado = selectCmd.ExecuteReader(); while (resultado.Read()) { var paiSyncronia = new PaiSincronia() { Id = Convert.ToInt32(resultado["PaiSyncronia"]), MaxSincronia = Convert.ToInt32(resultado["MaxSincronia"]) }; if (!paiSyncronia.Equals(null)) { listaPaiSincronias.Add(paiSyncronia); } } if (listaPaiSincronias.Any()) { grupoSincronizadoresPaiDTO.IdGrupo = obj.IdGrupo; grupoSincronizadoresPaiDTO.SincroniasPai = listaPaiSincronias; } conexao.Close(); conexao.Open(); } ListaGrupoSincronizadores.Add(grupoSincronizadoresPaiDTO); } return(ListaGrupoSincronizadores); } catch (Exception ex) { throw new Exception(ex.Message); } finally { conexao.Close(); } }
public SincronizadorDTO Teste2Sincronizador() { SincronizadorDTO sincronizador = new SincronizadorDTO(); sincronizador.StatusSincroniaMensagem = Status.Solicitando; //sincronizador.MaxSincMensagem = 1; //sincronizador.MaxSincUsuario = 1; //sincronizador.MaxSincContatos = 1; List <MensagemDTO> listaMensagem = new List <MensagemDTO>(); MensagemDTO m1 = new MensagemDTO() { Id = 2, Mensagem = "Teste2", Grupo = 1, PaiMensagem = 1, PaiSyncronia = 1, ContSyncronia = 2 }; listaMensagem.Add(m1); MensagemDTO m2 = new MensagemDTO() { Id = 3, Mensagem = "Teste3", Grupo = 1, PaiMensagem = 1, PaiSyncronia = 1, ContSyncronia = 3 }; listaMensagem.Add(m2); MensagemDTO m3 = new MensagemDTO() { Id = 4, Mensagem = "Teste4", Grupo = 1, PaiMensagem = 1, PaiSyncronia = 1, ContSyncronia = 4 }; listaMensagem.Add(m3); //sincronizador.ListaMensagem = listaMensagem; sincronizador.ListaMensagem = null; UsuarioDTO us = new UsuarioDTO(); us = null; sincronizador.ListaUsuarios.Add(us); ContatoDTO ct = new ContatoDTO(); ct = null; sincronizador.ListaContatos.Add(ct); GrupoSincronizadoresPaiDTO Gs = new GrupoSincronizadoresPaiDTO(); Gs.IdGrupo = 1; PaiSincronia sp1 = new PaiSincronia(); sp1.Id = 1; sp1.MaxSincronia = 1; Gs.SincroniasPai.Add(sp1); PaiSincronia sp2 = new PaiSincronia(); sp2.Id = 2; sp2.MaxSincronia = 2; Gs.SincroniasPai.Add(sp2); sincronizador.ListaDeGruposSincroniaPay.Add(Gs); return(sincronizador); }