예제 #1
0
        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
        }
예제 #2
0
        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
        }