/// <summary>
        /// Este método obtiene los datos de los resultados de una pregunta de una encuesta.
        /// Recibe por parámetro el id de la encuesta y el id de la pregunta a consultar y devuelve un objeto Resultados Graficos.
        /// </summary>
        /// <param name="idEncuesta">ID (int) de la encuesta a consultar. Por ejemplo: 59</param>
        /// <param name="idPregunta">ID (int) de la pregunta a consultar. Por ejemplo: 1</param>
        /// <returns>Objeto ResultadosGraficos que posee los siguientes atributos: (labels (lista de strings, series (lista de doubles))</returns>
        public static ResultadosGraficos ObtenerDatos(int idEncuesta, int idPregunta)
        {
            ResultadosGraficos rs = new ResultadosGraficos();

            try
            {
                SqlConnection cn = new SqlConnection(CadenaConexion.cadenaConexion);
                cn.Open();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection  = cn;
                cmd.CommandText = "SELECT R.idPregunta, R.descripcionRespuesta as descripcion, COUNT(*) as cantidad, MAX(r.fechaRespuesta) as ultimaRespuesta FROM Respuestas R, Preguntas P WHERE P.idPregunta = R.idPregunta AND P.idEncuesta=R.idEncuesta AND P.idPregunta = @idPregunta and p.IdEncuesta=@idEncuesta GROUP BY R.idPregunta, R.descripcionRespuesta";

                cmd.Parameters.AddWithValue("@idPregunta", idPregunta);
                cmd.Parameters.AddWithValue("@idEncuesta", idEncuesta);

                SqlDataReader dr = cmd.ExecuteReader();

                int cantidadTotal = ObtenerCantidadTotalDeRespuestas(idEncuesta, idPregunta);

                DateTime maximaFecha = DateTime.MinValue;

                while (dr.Read())
                {
                    rs.labels.Add(dr["descripcion"].ToString());
                    rs.series.Add(Math.Round((double.Parse(dr["cantidad"].ToString()) / cantidadTotal * 100), 2));
                    rs.cantidadTotalRespuestas = cantidadTotal;
                    DateTime d = DAOMetodosUtiles.ParsearFecha(dr["ultimaRespuesta"].ToString());
                    if (d.CompareTo(maximaFecha) > 0)
                    {
                        maximaFecha = d;
                    }
                }
                rs.ultimaActualizacion = maximaFecha;


                cn.Close();
                dr.Close();
            }

            catch (Exception ex)
            {
                string mensaje = string.Empty;
                mensaje = ex.ToString();
                Console.WriteLine(mensaje);
            }

            return(rs);
        }
        /// <summary>
        /// Este método obtiene los datos de los resultados de una pregunta de una encuesta.
        /// Recibe por parámetro el id del usuario y devuelve un objeto Resultados Graficos.
        /// </summary>
        /// <param name="idUsuario">ID (int) de la encuesta a consultar. Por ejemplo: 59</param>
        /// <returns>Objeto ResultadosGraficos que posee los siguientes atributos: (labels (lista de strings, series (lista de doubles))</returns>
        public static ResultadosGraficos ObtenerDatosEncuestasXUsuario(int idUsuario)
        {
            ResultadosGraficos rs = new ResultadosGraficos();

            try
            {
                SqlConnection cn = new SqlConnection(CadenaConexion.cadenaConexion);
                cn.Open();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection  = cn;
                cmd.CommandText = "SELECT YEAR(fechaEncuesta) as anio,MONTH(fechaEncuesta) as mes,count(*) as cantidad " +
                                  " FROM Encuestas " +
                                  " WHERE idUsuario = @idUsuario" +
                                  " GROUP BY YEAR(fechaEncuesta),MONTH(fechaEncuesta)";

                cmd.Parameters.AddWithValue("@idUsuario", idUsuario);

                SqlDataReader dr = cmd.ExecuteReader();

                while (dr.Read())
                {
                    rs.labels.Add(dr["anio"].ToString() + " - " + dr["mes"].ToString());
                    rs.series.Add(int.Parse(dr["cantidad"].ToString()));
                }

                cn.Close();
                dr.Close();
            }

            catch (Exception ex)
            {
                string mensaje = string.Empty;
                mensaje = ex.ToString();
                Console.WriteLine(mensaje);
            }

            return(rs);
        }