コード例 #1
0
        /// <summary>
        /// Metodo que carga en pantalla la encuesta asignada, con sus preguntas y respuestas.
        /// </summary>
        private void CargaEncuesta()
        {
            try
            {
                //Se leen los registros almadenados en las bases de datos
                using (SqliteCommand contents = connection.CreateCommand())
                {
                    contents.CommandText = "SELECT [IdEncuesta],[DescEncuesta],[IdPregunta],[DescPregunta],[Respuestas] from [DatosEncuesta]";
                    var  r         = contents.ExecuteReader();
                    bool RowsExist = false;
                    while (r.Read())//Por cada registro pintamos la información en la pantalla en alguna etiqueta
                    {
                        RowsExist = true;
                    }
                    if (RowsExist == true)
                    {
                        FillEncuesta = new List <Encuesta>();
                        SqliteCommand leedatos = connection.CreateCommand();

                        leedatos.CommandText = "SELECT [IdEncuesta],[DescEncuesta],[IdPregunta],[DescPregunta],[Respuestas] from [DatosEncuesta]";
                        try
                        {
                            var rr = leedatos.ExecuteReader();
                            while (rr.Read())
                            {
                                Preguntas          = new Encuesta();
                                IdEncuesta         = int.Parse(rr["IdEncuesta"].ToString());
                                Preguntas.Id       = rr["IdPregunta"].ToString();
                                Preguntas.Pregunta = rr["DescPregunta"].ToString();
                                string[] strRespuesta = rr["Respuestas"].ToString().Split('&');
                                if (strRespuesta.Length > 0)
                                {
                                    int NumResp = strRespuesta.Length;
                                    if (NumResp == 1 && strRespuesta[0] == "")
                                    {
                                        NumResp      = 0;
                                        strRespuesta = new string[0];
                                    }
                                    Preguntas.Respuesta = new string[NumResp];
                                    for (int ini = 0; ini < strRespuesta.Length; ini++)
                                    {
                                        Preguntas.Respuesta[ini] = strRespuesta[ini].ToString();
                                    }
                                }
                                FillEncuesta.Add(Preguntas);
                            }
                            arrayIds = new string[FillEncuesta.Count];
                            MuestraPreguntas(IDSeleccionado, out IsFinal);
                            btnAtras.Visibility = ViewStates.Invisible;
                        }
                        catch (Exception exep)
                        {
                        }
                    }
                    else
                    {
                        if (tieneEncuesta == false)
                        {
                            Dialog dialog = new Dialog(this);
                            dialog.SetContentView(Resource.Layout.MensajeSINO);
                            dialog.SetTitle("ENCUESTAS ACTIVAS");
                            dialog.SetCancelable(true);
                            ImageButton btnAceptaAccion = ((ImageButton)dialog.FindViewById(Resource.Id.btnAceptaAccion));
                            btnAceptaAccion.Click += new EventHandler(btnAceptaAccion_Click);
                            dialog.Show();
                        }
                        else
                        {
                            try
                            {
                                //WEB SERVICES
                                TDI_EncDisp = asmxEM.ObtieneEncuestaPorDispositivo(IdDispositivo, Servicio.ClsVariables.NumeroTel);
                                //Almacenamos el Id del Dispositivo para el guardado en la base de datos

                                //Este apartado es para presentar las encuestas en la pantalla
                                FillEncuesta = new List <Encuesta>();
                                if (TDI_EncDisp != null)
                                {
                                    for (int disp = 0; disp < TDI_EncDisp.Length; disp++)
                                    {
                                        if (TDI_EncDisp[disp].ListaEncuesta != null)
                                        {
                                            for (int enc = 0; enc < TDI_EncDisp[disp].ListaEncuesta.Length; enc++)
                                            {
                                                //Almacenamos el Id de la Encuesta para el guardado en base de datos
                                                IdEncuesta   = TDI_EncDisp[disp].ListaEncuesta[enc].IdEncuesta;
                                                DescEncuesta = TDI_EncDisp[disp].ListaEncuesta[enc].NombreEncuesta;
                                                if (TDI_EncDisp[disp].ListaEncuesta[enc].LstPreg != null)
                                                {
                                                    for (int preg = 0; preg < TDI_EncDisp[disp].ListaEncuesta[enc].LstPreg.Length; preg++)
                                                    {
                                                        arrayIds = new string[TDI_EncDisp[disp].ListaEncuesta[enc].LstPreg.Length];

                                                        Encuesta Preguntas = new Encuesta();
                                                        IdPregunta          = TDI_EncDisp[disp].ListaEncuesta[enc].LstPreg[preg].IdPregunta.ToString();
                                                        Preguntas.Id        = TDI_EncDisp[disp].ListaEncuesta[enc].LstPreg[preg].IdPregunta.ToString();
                                                        DescPregunta        = TDI_EncDisp[disp].ListaEncuesta[enc].LstPreg[preg].PreguntaDesc;
                                                        Preguntas.Pregunta  = TDI_EncDisp[disp].ListaEncuesta[enc].LstPreg[preg].PreguntaDesc;
                                                        Preguntas.Respuesta = new string[TDI_EncDisp[disp].ListaEncuesta[enc].LstPreg[preg].ListaRespuestas.Length]; //{ "" + TDI_EncDisp[disp].ListaEncuesta[enc].LstPreg[preg].ListaRespuestas[resp].IdRespuesta + "|" + TDI_EncDisp[disp].ListaEncuesta[enc].LstPreg[preg].ListaRespuestas[resp].RespuestaDescripcion + "|3", "4|No|4" };

                                                        if (TDI_EncDisp[disp].ListaEncuesta[enc].LstPreg[preg].ListaRespuestas != null)
                                                        {
                                                            for (int resp = 0; resp < TDI_EncDisp[disp].ListaEncuesta[enc].LstPreg[preg].ListaRespuestas.Length; resp++)
                                                            {
                                                                Preguntas.Respuesta[resp] = TDI_EncDisp[disp].ListaEncuesta[enc].LstPreg[preg].ListaRespuestas[resp].IdRespuesta + "|" +
                                                                                            TDI_EncDisp[disp].ListaEncuesta[enc].LstPreg[preg].ListaRespuestas[resp].RespuestaDescripcion + "|" +
                                                                                            TDI_EncDisp[disp].ListaEncuesta[enc].LstPreg[preg].ListaRespuestas[resp].IdSiguientePregunta;
                                                            }
                                                        }

                                                        FillEncuesta.Add(Preguntas);
                                                        string RespuestasInserta = "";
                                                        int    cuenta            = 0;
                                                        foreach (string presp in Preguntas.Respuesta)
                                                        {
                                                            cuenta++;
                                                            int totalResp = Preguntas.Respuesta.Length;
                                                            if (totalResp == cuenta)
                                                            {
                                                                RespuestasInserta += presp.ToString();
                                                            }
                                                            else
                                                            {
                                                                RespuestasInserta += presp.ToString() + "&";
                                                            }
                                                        }
                                                        using (SqliteCommand com = connection.CreateCommand())
                                                        {
                                                            String strQuery = "INSERT INTO [DatosEncuesta] ([IdEncuesta],[DescEncuesta],[IdPregunta],[DescPregunta],[Respuestas]) values('" +
                                                                              IdEncuesta + "','" + DescEncuesta + "','" + IdPregunta + "','" + DescPregunta + "','" + RespuestasInserta + "');";
                                                            com.CommandText = strQuery;
                                                            com.ExecuteNonQuery();
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                            catch (Exception error)
                            {
                                var Err = error.Message;
                            }
                            MuestraPreguntas(IDSeleccionado, out IsFinal);
                            btnAtras.Visibility = ViewStates.Invisible;
                        }
                    }
                }
            }
            catch (Exception exep)
            {
                var exe = exep.Message;
            }
            preguntasTot.Text = "Pregunta: " + NumPreguntas + "/" + (FillEncuesta.Count - 1);
        }
コード例 #2
0
        private void TieneEncuestas()
        {
            try
            {
                tva.THE_Dispositivo[] dispos = null;
                try
                {
                    #region trae encuestas
                    TDI_EncDisp  = asmxEM.ObtieneEncuestaPorDispositivo(idDispositivo, numetel);
                    FillEncuesta = new List <Encuesta>();

                    if (TDI_EncDisp != null)
                    {
                        for (int disp = 0; disp < TDI_EncDisp.Length; disp++)
                        {
                            if (TDI_EncDisp[disp].ListaEncuesta != null)
                            {
                                for (int enc = 0; enc < TDI_EncDisp[disp].ListaEncuesta.Length; enc++)
                                {
                                    tieneEncuesta = true;

                                    if (TDI_EncDisp[disp].ListaEncuesta[enc].LstPreg != null)
                                    {
                                        for (int preg = 0; preg < TDI_EncDisp[disp].ListaEncuesta[enc].LstPreg.Length; preg++)
                                        {
                                            arrayIds = new string[TDI_EncDisp[disp].ListaEncuesta[enc].LstPreg.Length];

                                            Encuesta Preguntas = new Encuesta();
                                            Preguntas.Id        = TDI_EncDisp[disp].ListaEncuesta[enc].LstPreg[preg].IdPregunta.ToString();
                                            Preguntas.Pregunta  = TDI_EncDisp[disp].ListaEncuesta[enc].LstPreg[preg].PreguntaDesc;
                                            Preguntas.Respuesta = new string[TDI_EncDisp[disp].ListaEncuesta[enc].LstPreg[preg].ListaRespuestas.Length]; //{ "" + TDI_EncDisp[disp].ListaEncuesta[enc].LstPreg[preg].ListaRespuestas[resp].IdRespuesta + "|" + TDI_EncDisp[disp].ListaEncuesta[enc].LstPreg[preg].ListaRespuestas[resp].RespuestaDescripcion + "|3", "4|No|4" };

                                            if (TDI_EncDisp[disp].ListaEncuesta[enc].LstPreg[preg].ListaRespuestas != null)
                                            {
                                                for (int resp = 0; resp < TDI_EncDisp[disp].ListaEncuesta[enc].LstPreg[preg].ListaRespuestas.Length; resp++)
                                                {
                                                    Preguntas.Respuesta[resp] = TDI_EncDisp[disp].ListaEncuesta[enc].LstPreg[preg].ListaRespuestas[resp].IdRespuesta + "|" +
                                                                                TDI_EncDisp[disp].ListaEncuesta[enc].LstPreg[preg].ListaRespuestas[resp].RespuestaDescripcion + "|" +
                                                                                TDI_EncDisp[disp].ListaEncuesta[enc].LstPreg[preg].ListaRespuestas[resp].IdSiguientePregunta;
                                                }
                                            }

                                            FillEncuesta.Add(Preguntas);
                                            string RespuestasInserta = "";
                                            int    cuenta            = 0;
                                            foreach (string presp in Preguntas.Respuesta)
                                            {
                                                cuenta++;
                                                int totalResp = Preguntas.Respuesta.Length;
                                                if (totalResp == cuenta)
                                                {
                                                    RespuestasInserta += presp.ToString();
                                                }
                                                else
                                                {
                                                    RespuestasInserta += presp.ToString() + "&";
                                                }
                                            }
                                            using (SqliteCommand com = connection.CreateCommand())
                                            {
                                                String strQuery = "INSERT INTO [DatosEncuesta] ([IdEncuesta],[DescEncuesta],[IdPregunta],[DescPregunta],[Respuestas]) values('" +
                                                                  TDI_EncDisp[disp].ListaEncuesta[enc].IdEncuesta + "','" + TDI_EncDisp[disp].ListaEncuesta[enc].NombreEncuesta + "','" + Preguntas.Id + "','" + Preguntas.Pregunta + "','" + RespuestasInserta + "');";
                                                com.CommandText = strQuery;
                                                com.ExecuteNonQuery();
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                    #endregion
                }
                catch
                {
                }
            }
            catch
            {
            }
        }