Exemplo n.º 1
0
        static public void ActualizarEstado(int idPregunta, string nuevoEstado)
        {
            try
            {
                //Conecto a la Bd
                Conexion_Desconexion.Connection();
                //Armo el query
                string query = @"UPDATE Preguntas SET estado = @nuevoEstado WHERE id_pregunta = @idPregunta";
                //Armo el command con el query y la conexion
                SqlCommand command = new SqlCommand(query, Conexion_Desconexion.Con);
                //Paso todos los valores por parametros
                command.Parameters.AddWithValue("@nuevoEstado", nuevoEstado);
                command.Parameters.AddWithValue("@idPregunta", idPregunta);
                //Ejecuto el comando
                command.ExecuteNonQuery();
                //Cierro la conexion a la Bd
                Conexion_Desconexion.Disconnect();
            }
            catch (Exception ex)
            {
                // Log del error
                string error = "Error en ABMPregunta ActualizarEstado";
                error += "\n--------------------\n";
                error += ex.ToString();
                error += "\n--------------------\n";
                logger.Error(error);

                throw;
            }
        }
        /// <summary>
        /// Inserta una nueva notificacion en la base de datos
        /// </summary>
        /// <param name="idUserPregunta"></param>
        /// <param name="idPregunta"></param>

        static public void AltaNotificacion(int idUserPregunta, int idPregunta)
        {
            try
            {
                //Hago la conexion a la Bd
                Conexion_Desconexion.Connection();
                //Armo el query para el command
                string query = @"INSERT INTO Notificaciones(id_user, id_pregunta) VALUES(@id_user, @id_pregunta)";
                //Armo mi command con el query y la conexion
                SqlCommand command = new SqlCommand(query, Conexion_Desconexion.Con);
                //Paso los ids codificados por parametro
                command.Parameters.AddWithValue("@id_user", idUserPregunta);
                command.Parameters.AddWithValue("@id_pregunta", idPregunta);
                //Ejecuto el query
                command.ExecuteNonQuery();
                //Desconecto la base de datos
                Conexion_Desconexion.Disconnect();
            }
            catch (Exception ex)
            {
                // Log del error
                string error = "Error en ABMNotificacion AltaNotificacion";
                error += "\n--------------------\n";
                error += ex.ToString();
                error += "\n--------------------\n";
                logger.Error(error);
                throw;
            }
        }
        /// <summary>
        /// Chequea si existe un usuario dado su email
        /// </summary>
        /// <param name="email"></param>
        /// <returns></returns>
        static public bool ExisteUser(string email)
        {
            int count;

            try
            {
                //Armo la conexion a la base de datos
                Conexion_Desconexion.Connection();
                //Armo el query para verificar que existe el usuario segun su email
                string query = @"SELECT COUNT(*) FROM Usuarios WHERE email = @email";
                //Armo el command con el query
                SqlCommand command = new SqlCommand(query, Conexion_Desconexion.Con);
                //Paso el email por parametro codificado
                command.Parameters.AddWithValue("@email", email);
                //Verifico la cantidad de veces que aparece el email en la base de datos y lo guardo
                count = Convert.ToInt32(command.ExecuteScalar());
                //Cierro la conexion a la base de datos
                Conexion_Desconexion.Disconnect();
            }
            catch (Exception ex)
            {
                // Log del error
                string error = "Error en ABMUsuario ExisteUser con email";
                error += "\n--------------------\n";
                error += ex.ToString();
                error += "\n--------------------\n";
                logger.Error(error);
                throw;
            }
            //Devuelve true/false segun exista o no el user con ese email
            return(count != 0);
        }
        /// <summary>
        /// Elimina de la base de datos la notificacion con el id especificado
        /// </summary>
        /// <param name="idNotificacion"></param>

        static public void BajaNotificacion(int idNotificacion)
        {
            try
            {
                //Hago la conexion a la Bd
                Conexion_Desconexion.Connection();
                //Armo el query
                string query = @"DELETE FROM Notificaciones WHERE id_notificacion = @idNotif";
                //Genero el command
                SqlCommand command = new SqlCommand(query, Conexion_Desconexion.Con);
                //Paso el id de la notif como parametro
                command.Parameters.AddWithValue("idNotif", idNotificacion);
                //Ejecuto el query
                command.ExecuteNonQuery();
                //Cierro la conexion a la Bd
                Conexion_Desconexion.Disconnect();
            }
            catch (Exception ex)
            {
                // Log del error
                string error = "Error en ABMNotificacion BajaNotificacion";
                error += "\n--------------------\n";
                error += ex.ToString();
                error += "\n--------------------\n";
                logger.Error(error);
                throw;
            }
        }
        /// <summary>
        /// modifica alguna propiedad del usuario
        /// </summary>
        /// <param contraseña="contraseña"></param>
        /// <returns></returns>
        static public void modificarAtributo(int idUser, string contraseña)
        {
            idUser     = 1;
            contraseña = "4321";

            try
            {
                //Armo la conexion a la base de datos
                Conexion_Desconexion.Connection();
                //Armo el query para verificar que existe el usuario segun su id
                string query = @"UPDATE Usuarios SET password = @new_password WHERE id_user = @id_user";
                //Armo el command con el query
                SqlCommand command = new SqlCommand(query, Conexion_Desconexion.Con);
                //Paso el id por parametro codificado
                command.Parameters.AddWithValue("@id_user", idUser);
                command.Parameters.AddWithValue("@new_password", contraseña);
                //Ejecuto el comando
                command.ExecuteNonQuery();
                //Cierro la conexion a la base de datos
                Conexion_Desconexion.Disconnect();
                //
            }
            catch
            {
            }
        }
 /// <summary>
 /// Elimina de la base de datos al usuario con el id especificado
 /// </summary>
 /// <param name="idUser"></param>
 static public void BajaUsuario(int idUser)
 {
     try
     {
         //Hago la conexion a la Bd
         Conexion_Desconexion.Connection();
         //Armo el query
         string query = @"DELETE FROM Usuarios WHERE id_user = @id_user";
         //Armo el command con el query y la conexion
         SqlCommand command = new SqlCommand(query, Conexion_Desconexion.Con);
         //Paso el id del usuario como parametro
         command.Parameters.AddWithValue("@id_user", idUser);
         //Ejecuto el command
         command.ExecuteNonQuery();
         //Cierro la conexion a la Bd
         Conexion_Desconexion.Disconnect();
     }
     catch (Exception ex)
     {
         // Log del error
         string error = "Error en ABMUsuario BajaUsuario";
         error += "\n--------------------\n";
         error += ex.ToString();
         error += "\n--------------------\n";
         logger.Error(error);
         throw;
     }
 }
 /// <summary>
 /// Toma los datos de entrada de un nuevo usuario y los inserta a la base de datos
 /// </summary>
 static public void AltaUsuario(string nombre, string apellido, string pais, string email, string password)
 {
     try
     {
         //Hacer conexion a la base de datos
         Conexion_Desconexion.Connection();
         string     query   = @"INSERT INTO Usuarios(nombre,apellido,pais_origen,Email,password) VALUES(@nombre,@apellido,@pais,@email,@password)";
         SqlCommand command = new SqlCommand(query, Conexion_Desconexion.Con);
         /*NOTA: placeholders.*/
         command.Parameters.AddWithValue("@nombre", nombre);
         command.Parameters.AddWithValue("@apellido", apellido);
         command.Parameters.AddWithValue("@pais", pais);
         command.Parameters.AddWithValue("@email", email);
         command.Parameters.AddWithValue("@password", password);
         command.ExecuteNonQuery();
         //Desconectar
         Conexion_Desconexion.Disconnect();
     }
     catch (Exception ex)
     {
         // Log del error
         string error = "Error en ABMUsuario AltaUsuario";
         error += "\n--------------------\n";
         error += ex.ToString();
         error += "\n--------------------\n";
         logger.Error(error);
         throw;
     }
 }
Exemplo n.º 8
0
 /// <summary>
 /// Elimina la pregunta con el id especificaco de la base de datos
 /// </summary>
 /// <param name="idPreg"></param>
 static public void BajaPregunta(int idPregunta)
 {
     try
     {
         //Hago la conexion a la Bd
         Conexion_Desconexion.Connection();
         //Armo el query
         string query = @"DELETE FROM Preguntas WHERE id_pregunta = @idPreg";
         //Armo el command con el query y la conexion
         SqlCommand command = new SqlCommand(query, Conexion_Desconexion.Con);
         //Paso el id de la pregunta por parametro
         command.Parameters.AddWithValue("@idPreg", idPregunta);
         //Ejecuto el query con el command
         command.ExecuteNonQuery();
         //Cierro la conexion a la Bd
         Conexion_Desconexion.Disconnect();
     }
     catch (Exception ex)
     {
         // Log del error
         string error = "Error en ABMPregunta BajaPregunta";
         error += "\n--------------------\n";
         error += ex.ToString();
         error += "\n--------------------\n";
         logger.Error(error);
         throw;
     }
 }
Exemplo n.º 9
0
 /// <summary>
 /// Inserta una nueva pregunta sin imagen en la base de datos
 /// </summary>
 /// <param name="idUser"></param>
 /// <param name="tituloPreg"></param>
 /// <param name="descripcionPreg"></param>
 static public void AltaPregunta(int idUser, string tituloPreg, string descripcionPreg)
 {
     try
     {
         //Conecto a la Bd
         Conexion_Desconexion.Connection();
         //Armo el query
         string query = @"INSERT INTO Preguntas(id_user, titulo, descripcion) VALUES(@id_user, @titulo, @descripcion)";
         //Armo el command con el query y la conexion
         SqlCommand command = new SqlCommand(query, Conexion_Desconexion.Con);
         //Paso todos los valores por parametros
         command.Parameters.AddWithValue("@id_user", idUser);
         command.Parameters.AddWithValue("@titulo", tituloPreg);
         command.Parameters.AddWithValue("@descripcion", descripcionPreg);
         //Ejecuto el comando
         command.ExecuteNonQuery();
         //Cierro la conexion a la Bd
         Conexion_Desconexion.Disconnect();
     }
     catch (Exception ex)
     {
         // Log del error
         string error = "Error en ABMPregunta AltaPregunta sin imagen";
         error += "\n--------------------\n";
         error += ex.ToString();
         error += "\n--------------------\n";
         logger.Error(error);
         throw;
     }
 }
Exemplo n.º 10
0
 /// <summary>
 /// Crea una nueva respuesta con imagen y la inserta en la base de datos
 /// </summary>
 /// <param name="idUserResp"></param>
 /// <param name="idPregunta"></param>
 /// <param name="tituloResp"></param>
 /// <param name="descripcionResp"></param>
 /// <param name="urlImg"></param>
 static public void AltaRespuesta(int idUserResp, int idPregunta, string tituloResp, string descripcionResp, string urlImg)
 {
     // Realizar INSERT INTO en la tabla de respuestas
     try
     {
         //Hacer conexion a la base de datos
         Conexion_Desconexion.Connection();
         string     query   = @"INSERT INTO Respuestas(id_user,id_pregunta,titulo,descripcion,url_imagen) VALUES(@id_user,@id_pregunta,@titulo,@descripcion,@url_imagen)";
         SqlCommand command = new SqlCommand(query, Conexion_Desconexion.Con);
         /*NOTA: placeholders.*/
         command.Parameters.AddWithValue("@id_user", idUserResp);
         command.Parameters.AddWithValue("@id_pregunta", idPregunta);
         command.Parameters.AddWithValue("@titulo", tituloResp);
         command.Parameters.AddWithValue("@descripcion", descripcionResp);
         command.Parameters.AddWithValue("@url_imagen", urlImg);
         command.ExecuteNonQuery();
         //Desconectar
         Conexion_Desconexion.Disconnect();
     }
     catch (Exception ex)
     {
         // Log del error
         string error = "Error en ABMRespuesta AltaRespuesta con imagen";
         error += "\n--------------------\n";
         error += ex.ToString();
         error += "\n--------------------\n";
         logger.Error(error);
         throw;
     }
 }
Exemplo n.º 11
0
        static public List <int> GetIdsUsuariosLike(int idRespuesta)
        {
            List <int> IdsUsers = new List <int>();

            try {
                Conexion_Desconexion.Connection();
                string     query   = @"SELECT id_user FROM Likes WHERE id_respuesta = @idRespuesta";
                SqlCommand command = new SqlCommand(query, Conexion_Desconexion.Con);
                command.Parameters.AddWithValue("@idRespuesta", idRespuesta);
                SqlDataReader reader = command.ExecuteReader();
                while (reader.Read())
                {
                    IdsUsers.Add(reader.GetInt32(0));
                }
                Conexion_Desconexion.Disconnect();
            }
            catch (Exception ex)
            {
                // Log del error
                string error = "Error en ABMRespuesta GetIdsUsuariosLike";
                error += "\n--------------------\n";
                error += ex.ToString();
                error += "\n--------------------\n";
                logger.Error(error);
                throw;
            }
            return(IdsUsers);
        }
Exemplo n.º 12
0
 /// <summary>
 /// Elimina una respuesta de la base de datos
 /// </summary>
 static public void BajaRespuesta(int idRespuesta)
 {
     try
     {
         //Conecto a la base de datos
         Conexion_Desconexion.Connection();
         //Tomo la cadena sql para hacer el Delete
         string query = @"DELETE FROM Respuestas WHERE id_respuesta = @idResp";
         //Armo el command con mi query y la conexion
         SqlCommand command = new SqlCommand(query, Conexion_Desconexion.Con);
         //Paso como parametro codificado el id de la respuesta
         command.Parameters.AddWithValue("@idResp", idRespuesta);
         //Ejecuto el Delete y cierro la conexion
         command.ExecuteNonQuery();
         Conexion_Desconexion.Disconnect();
     }
     catch (Exception ex)
     {
         // Log del error
         string error = "Error en ABMRespuesta BajaRespuesta";
         error += "\n--------------------\n";
         error += ex.ToString();
         error += "\n--------------------\n";
         logger.Error(error);
         throw;
     }
 }
Exemplo n.º 13
0
        /// <summary>
        /// Selecciona todas las preguntas en la base de datos
        /// </summary>
        /// <returns></returns>
        static public List <Pregunta> GetPreguntas()
        {
            List <Pregunta> preguntas = new List <Pregunta>();

            try
            {
                //Me conecto a la Bd
                Conexion_Desconexion.Connection();
                //Armo el query
                string query = @"SELECT * FROM Preguntas";
                //Armo el command con el query y conexion
                SqlCommand command = new SqlCommand(query, Conexion_Desconexion.Con);
                //Creo un reader que ejecute el query
                SqlDataReader reader = command.ExecuteReader();
                while (reader.Read())
                {
                    //Armo una nueva pregunta con los datos que toma el reader y la cargo a la lista
                    Pregunta preg = new Pregunta();
                    preg.IdUserPregunta = reader.GetInt32(0);
                    preg.IdPregunta     = reader.GetInt32(1);

                    if (reader[2] == DBNull.Value)
                    {
                        preg.IdSolucion = -1;
                    }
                    else
                    {
                        preg.IdSolucion = reader.GetInt32(2);
                    }
                    preg.Titulo      = reader.GetString(3);
                    preg.Descripcion = reader.GetString(4);
                    if (reader[5] == DBNull.Value)
                    {
                        preg.UrlImagen = null;
                    }
                    else
                    {
                        preg.UrlImagen = reader.GetString(5);
                    }
                    preg.Fecha  = reader.GetDateTime(6);
                    preg.Estado = reader.GetString(7);
                    preguntas.Add(preg);
                }
                //Cierro la conexion a la Bd
                Conexion_Desconexion.Disconnect();
            }
            catch (Exception ex)
            {
                // Log del error
                string error = "Error en ABMPregunta GetPreguntas (todas las preguntas del sistema)";
                error += "\n--------------------\n";
                error += ex.ToString();
                error += "\n--------------------\n";
                logger.Error(error);
                throw;
            }
            return(preguntas);
        }
Exemplo n.º 14
0
        /// <summary>
        /// Selecciona las respuestas de la pregunta con el id especificado
        /// </summary>
        /// <param name="idPregunta"></param>
        /// <returns></returns>
        public static List <Respuesta> GetRespuestas(int idPregunta)
        {
            List <Respuesta> respuestas = new List <Respuesta>();

            try
            {
                //Hago la conexion a la base de datos
                Conexion_Desconexion.Connection();
                //Armo el query para seleccionar todas las respuestas segun el id
                string query = @"SELECT * FROM Respuestas WHERE id_pregunta = @idPreg";
                //Armo el command con el query y la conexion
                SqlCommand command = new SqlCommand(query, Conexion_Desconexion.Con);
                //Paso como parametro codificado el id de la pregunta
                command.Parameters.AddWithValue("@idPreg", idPregunta);
                //Ejecuto un reader que va a tomar toda la informacion de la tabla correspondiendo a la condicion impuesta en el query
                SqlDataReader reader = command.ExecuteReader();
                //Mientras voy leyendo los datos, los tomo y armo una respuesta que luego agrego a la lista de respuestas
                while (reader.Read())
                {
                    Respuesta resp = new Respuesta();
                    resp.IdUserResp  = reader.GetInt32(0);
                    resp.IdPregunta  = reader.GetInt32(1);
                    resp.IdRespuesta = reader.GetInt32(2);
                    resp.Titulo      = reader.GetString(3);
                    resp.Descripcion = reader.GetString(4);
                    if (reader[5] == DBNull.Value)
                    {
                        resp.UrlImagen = null;
                    }
                    else
                    {
                        resp.UrlImagen = reader.GetString(5);
                    }
                    resp.Fecha = reader.GetDateTime(6);
                    respuestas.Add(resp);
                }
                //Cierro la conexion a la Bd
                Conexion_Desconexion.Disconnect();
            }
            catch (Exception ex)
            {
                // Log del error
                string error = "Error en ABMRespuesta GetRespuestas";
                error += "\n--------------------\n";
                error += ex.ToString();
                error += "\n--------------------\n";
                logger.Error(error);
                throw;
            }
            //Finalmente devuelvo la lista de respuestas
            return(respuestas);
        }
        /// <summary>
        /// Obtiene las notificaciones correspondientes del usuario con el id especificado
        /// </summary>
        /// <param name="idUser"></param>
        /// <returns></returns>

        static public List <Notificacion> GetNotificaciones(int idUser)
        {
            List <Notificacion> notificaciones = new List <Notificacion>();

            try
            {
                //Hago la conexion a la base de datos
                Conexion_Desconexion.Connection();
                //Armo el query para seleccionar todas las notificaciones segun el id
                string query = @"SELECT id_user, id_pregunta, id_notificacion, fecha_notificacion FROM Notificaciones WHERE id_user = @idUser";
                //Armo el command con el query y la conexion
                SqlCommand command = new SqlCommand(query, Conexion_Desconexion.Con);
                //Paso como parametro codificado el id del usuario
                command.Parameters.AddWithValue("@idUser", idUser);
                //Ejecuto un reader que va a tomar toda la informacion de la tabla correspondiendo a la condicion impuesta en el query
                SqlDataReader reader = command.ExecuteReader();
                //Mientras voy leyendo los datos, los tomo y armo una notificacion que luego agrego a la lista de notificaciones
                while (reader.Read())
                {
                    Notificacion notif = new Notificacion();
                    notif.IdUserPregunta = reader.GetInt32(0);
                    notif.IdPregunta     = reader.GetInt32(1);
                    notif.IdNotificacion = reader.GetInt32(2);
                    notif.Fecha          = reader.GetDateTime(3);
                    notificaciones.Add(notif);
                }
                //Cierro la conexion a la Bd
                Conexion_Desconexion.Disconnect();
            }
            catch (Exception ex)
            {
                // Log del error
                string error = "Error en ABMNotificacion GetNotificaciones";
                error += "\n--------------------\n";
                error += ex.ToString();
                error += "\n--------------------\n";
                logger.Error(error);
                throw;
            }
            //Finalmente devuelvo la lista de notificaciones
            return(notificaciones);
        }
        /// <summary>
        /// Realiza una consulta a la base de datos para obtener un usuario con el id especificado
        /// </summary>
        /// <param name="idUser"></param>
        /// <returns></returns>
        static public Usuario GetUsuario(string email)
        {
            Usuario user = new Usuario();

            try
            {
                //Hago la conexion a la base de datos
                Conexion_Desconexion.Connection();
                //Armo mi query para buscar un usuario especifico
                string query = @"SELECT * FROM Usuarios WHERE email = @email";
                //Armo el command con el query y la conexion
                SqlCommand command = new SqlCommand(query, Conexion_Desconexion.Con);
                //Paso como parametro codificado el id del usuario que busco
                command.Parameters.AddWithValue("@email", email);
                //Creo un reader que ejecute el query
                SqlDataReader reader = command.ExecuteReader();
                //Utilizo el reader para leer los datos del usuario y cargarlos a user
                reader.Read();
                user.IdUsuario    = reader.GetInt32(0);
                user.Nombre       = reader.GetString(1);
                user.Apellido     = reader.GetString(2);
                user.PaisOrigen   = reader.GetString(3);
                user.Email        = reader.GetString(4);
                user.Password     = reader.GetString(5);
                user.FechaIngreso = reader.GetDateTime(6);
                //Desconecto la base de datos
                Conexion_Desconexion.Disconnect();
            }
            catch (Exception ex)
            {
                // Log del error
                string error = "Error en ABMUsuario GetUsuario con email";
                error += "\n--------------------\n";
                error += ex.ToString();
                error += "\n--------------------\n";
                logger.Error(error);
                throw;
            }
            //Devuelvo el alumno cargado
            return(user);
        }
Exemplo n.º 17
0
 /// <summary>
 /// Realiza un DELETE en la tabla likes
 /// con el id del user y el id de la respuesta
 /// </summary>
 /// <param name="idRespuesta"></param>
 /// <param name="likes"></param>
 static public void BajaLike(int idRespuesta, int idUser)
 {
     try
     {
         Conexion_Desconexion.Connection();
         string     query   = @"DELETE FROM Likes WHERE id_respuesta= @idResp AND id_user = @idUser";
         SqlCommand command = new SqlCommand(query, Conexion_Desconexion.Con);
         command.Parameters.AddWithValue("@idResp", idRespuesta);
         command.Parameters.AddWithValue("@idUser", idUser);
         command.ExecuteNonQuery();
         Conexion_Desconexion.Disconnect();
     }
     catch (Exception ex)
     {
         // Log del error
         string error = "Error en ABMRespuesta BajaLike";
         error += "\n--------------------\n";
         error += ex.ToString();
         error += "\n--------------------\n";
         logger.Error(error);
         throw;
     }
 }
Exemplo n.º 18
0
 /// <summary>
 /// Realiza un INSERT en la tabla likes
 /// con el id del user y el id de la respuesta
 /// </summary>
 /// <param name="idRespuesta"></param>
 /// <param name="likes"></param>
 static public void AltaLike(int idRespuesta, int idUser)
 {
     try
     {
         Conexion_Desconexion.Connection();
         string     query   = @"INSERT INTO Likes(id_respuesta, id_user) VALUES(@idResp, @idUser)";
         SqlCommand command = new SqlCommand(query, Conexion_Desconexion.Con);
         command.Parameters.AddWithValue("@idResp", idRespuesta);
         command.Parameters.AddWithValue("@idUser", idUser);
         command.ExecuteNonQuery();
         Conexion_Desconexion.Disconnect();
     }
     catch (Exception ex)
     {
         // Log del error
         string error = "Error en ABMRespuesta AltaLike";
         error += "\n--------------------\n";
         error += ex.ToString();
         error += "\n--------------------\n";
         logger.Error(error);
         throw;
     }
 }
Exemplo n.º 19
0
        /// <summary>
        /// Selecciona las preguntas del usuario con el id especificado
        /// </summary>
        /// <param name="idUser"></param>
        /// <returns></returns>
        static public List <Pregunta> GetPreguntas(int idUser)
        {
            List <Pregunta> preguntasDeUser = new List <Pregunta>();

            try
            {
                //Hago la conexion a la Bd
                Conexion_Desconexion.Connection();
                //Armo el query
                string query = @"SELECT * FROM Preguntas WHERE id_user = @idUser";
                //Armo el command con el query y la conexion
                SqlCommand command = new SqlCommand(query, Conexion_Desconexion.Con);
                //Paso el id del usuario por parametro
                command.Parameters.AddWithValue("@idUser", idUser);
                //Armo un reader que ejecute el query
                SqlDataReader reader = command.ExecuteReader();
                while (reader.Read())
                {
                    //Armo una nueva pregunta con los datos que toma el reader y la cargo a la lista
                    Pregunta preg = new Pregunta();
                    preg.IdUserPregunta = reader.GetInt32(0);
                    preg.IdPregunta     = reader.GetInt32(1);
                    //Si el valor del campo solucion es nulo, tomo id solucion como -1
                    if (reader[2] == DBNull.Value)
                    {
                        preg.IdSolucion = -1;
                    }
                    else
                    {
                        preg.IdSolucion = reader.GetInt32(2);
                    }
                    preg.Titulo      = reader.GetString(3);
                    preg.Descripcion = reader.GetString(4);
                    if (reader[5] == DBNull.Value)
                    {
                        preg.UrlImagen = null;
                    }
                    else
                    {
                        preg.UrlImagen = reader.GetString(5);
                    }
                    preg.Fecha  = reader.GetDateTime(6);
                    preg.Estado = reader.GetString(7);
                    preguntasDeUser.Add(preg);
                }
                //Cierro la conexion a la Bd
                Conexion_Desconexion.Disconnect();
            }
            catch (Exception ex)
            {
                // Log del error
                string error = "Error en ABMPregunta GetPreguntas con id (todas las preguntas de un user)";
                error += "\n--------------------\n";
                error += ex.ToString();
                error += "\n--------------------\n";
                logger.Error(error);

                throw;
            }
            return(preguntasDeUser);
        }