public static IList <TDI_EncuestaDispositivo> ObtieneEncuestaPorDispositivo(double NumeroTel) { #region Query Armado GuardaLogTransacc("Conexión de dispositivo Android con el Web Service - No. Tel: " + NumeroTel.ToString(), 26, NumeroTel); List <TDI_EncuestaDispositivo> lstEncuestasDispo = new List <TDI_EncuestaDispositivo>(); string strSQL = string.Empty; int IdDispositivo = 0; Azteca.Utility.Security.Rijndael _ChyperRijndael = new Azteca.Utility.Security.Rijndael(); ISession session = NHibernateHelperORACLE.GetSession(); strSQL += " SELECT encudis.ID_ENCUESTA IDEncuesta, encuesta.ENCUESTA_NOMBRE NombreEncuesta, DISP.ID_DISPOSITIVO IdDispositivo, ENCUDIS.ID_ENVIO IdEnvio"; strSQL += " FROM seml_tdi_encuestadispositivo encudis, seml_the_encuesta encuesta, seml_the_dispositivo disp"; strSQL += " WHERE encuesta.id_encuesta = encudis.id_encuesta"; strSQL += " and ENCUDIS.ID_DISPOSITIVO = DISP.ID_DISPOSITIVO"; strSQL += " AND encudis.ID_ESTATUS = 2"; strSQL += " AND DISP.DISPO_NUMTELEFONO = " + NumeroTel.ToString() + " ORDER BY IDEncuesta"; try { ISQLQuery consultaIQRY = session.CreateSQLQuery(strSQL); consultaIQRY.AddScalar("IDEncuesta", NHibernateUtil.Int32); //0 consultaIQRY.AddScalar("NombreEncuesta", NHibernateUtil.String); //1 consultaIQRY.AddScalar("IdDispositivo", NHibernateUtil.Int32); //2 consultaIQRY.AddScalar("IdEnvio", NHibernateUtil.Int32); //3 IList lista = consultaIQRY.List(); TDI_EncuestaDispositivo EncuDispo = new TDI_EncuestaDispositivo(); List <THE_Preguntas> lstPregun = new List <THE_Preguntas>(); List <THE_Respuestas> lstRespu = new List <THE_Respuestas>(); EncuDispo.ListaEncuesta = new List <THE_Encuesta>(); EncuDispo.ListPeriodos = new List <THE_PeriodoEncuesta>(); foreach (Object[] obj in lista) { foreach (THE_Encuesta consulta in MngDatosEncuesta.ObtieneEncuestaPorID(Convert.ToInt32(obj[0]))) { lstPregun = new List <THE_Preguntas>(); foreach (THE_Preguntas oPreg in MngDatosPreguntas.ObtienePreguntasPorEncuestaConFinEncu(consulta.IdEncuesta)) { lstRespu = new List <THE_Respuestas>(); foreach (THE_Respuestas oResp in MngDatosRespuestas.ObtenerRespuestasPorPregunta(oPreg.IdPregunta)) { lstRespu.Add(oResp); } oPreg.ListaRespuestas = lstRespu; IdDispositivo = Convert.ToInt32(Convert.ToInt32(obj[2])); lstPregun.Add(oPreg); consulta.LstPreg = lstPregun; } foreach (THE_PeriodoEncuesta periodos in MngDatosPeriodoEncuesta.ObtienePeriodosPorEncuesta(consulta.IdEncuesta)) { if (periodos != null) { periodos.IdEncuesta = new THE_Encuesta() { IdEncuesta = Convert.ToInt32(consulta.IdEncuesta.ToString()) }; EncuDispo.ListPeriodos.Add(periodos); } } consulta.IdEnvio = obj[3] == null ? 0 : Int32.Parse(obj[3].ToString()); EncuDispo.ListaEncuesta.Add(consulta); EncuDispo.IdDispositivo = new THE_Dispositivo() { IdDispositivo = IdDispositivo }; EncuDispo.IdEncuesta = new THE_Encuesta() { IdEncuesta = int.Parse(obj[0].ToString()) }; EncuDispo.IdEstatus = new TDI_Estatus() { IdEstatus = 3 }; EncuDispo.IdEnvio = obj[3] == null ? 0 : Int32.Parse(obj[3].ToString()); MngDatosEncuestaDispositivo.ActualizaEstatusDispoEncu(EncuDispo); } } lstEncuestasDispo.Add(EncuDispo); } catch { lstEncuestasDispo = null; return(lstEncuestasDispo); } finally { session.Close(); session.Dispose(); session = null; } GuardaLogTransacc("Metodo consumido desde Android: ObtieneEncuestaPorDispositivo - No. Tel: " + NumeroTel.ToString(), 29, NumeroTel); return(lstEncuestasDispo); #endregion }
public static IList <TDI_EncuestaDispositivo> ObtieneEncuestaDispositivoPorIdEncuesta(int IdEncuesta) { #region Query Armado List <TDI_EncuestaDispositivo> lstEncuestasDispo = new List <TDI_EncuestaDispositivo>(); string strSQL = string.Empty; Azteca.Utility.Security.Rijndael _ChyperRijndael = new Azteca.Utility.Security.Rijndael(); ISession session = NHibernateHelperORACLE.GetSession(); strSQL += " SELECT encuesta.id_encuesta idencuesta, "; strSQL += " encuesta.encuesta_nombre nombreencuesta "; strSQL += " FROM seml_the_encuesta encuesta "; strSQL += " WHERE encuesta.id_encuesta = " + IdEncuesta; try { ISQLQuery consultaIQRY = session.CreateSQLQuery(strSQL); consultaIQRY.AddScalar("IDEncuesta", NHibernateUtil.Int32); //0 consultaIQRY.AddScalar("NombreEncuesta", NHibernateUtil.String); //1 IList lista = consultaIQRY.List(); TDI_EncuestaDispositivo EncuDispo = new TDI_EncuestaDispositivo(); List <THE_Preguntas> lstPregun = new List <THE_Preguntas>(); List <THE_Respuestas> lstRespu = new List <THE_Respuestas>(); EncuDispo.ListaEncuesta = new List <THE_Encuesta>(); foreach (Object[] obj in lista) { foreach (THE_Encuesta consulta in MngDatosEncuesta.ObtieneEncuestaPorID(Convert.ToInt32(obj[0]))) { foreach (THE_Preguntas oPreg in MngDatosPreguntas.ObtienePreguntasPorEncuesta(consulta.IdEncuesta)) { lstRespu = new List <THE_Respuestas>(); foreach (THE_Respuestas oResp in MngDatosRespuestas.ObtenerRespuestasPorPregunta(oPreg.IdPregunta)) { lstRespu.Add(oResp); } oPreg.ListaRespuestas = lstRespu; lstPregun.Add(oPreg); consulta.LstPreg = lstPregun; } EncuDispo.ListaEncuesta.Add(consulta); EncuDispo.IdDispositivo = new THE_Dispositivo(); EncuDispo.IdEncuesta = new THE_Encuesta() { IdEncuesta = int.Parse(obj[0].ToString()) }; EncuDispo.IdEstatus = new TDI_Estatus() { IdEstatus = 3 }; MngDatosEncuestaDispositivo.ActualizaEstatusDispoEncu(EncuDispo); } } lstEncuestasDispo.Add(EncuDispo); } catch (Exception ex) { lstEncuestasDispo = null; return(lstEncuestasDispo); } finally { session.Close(); session.Dispose(); session = null; } return(lstEncuestasDispo); #endregion }