Ejemplo n.º 1
0
        /// <summary>
        /// Va a la página de un usuario y carga sus datos.
        /// </summary>
        private void IrAPerfilDeContacto(object sender, EventArgs e)
        {
            byte[]       avatarByte;
            MemoryStream ms;
            PictureBox   a = sender as PictureBox;

            ControlPaginas.SelectedTab = tabPageContacto;
            CargarEstadisticasContacto(a.Tag.ToString());
            string       sql    = "SELECT usuario_twitter, foto from usuarios WHERE usuario_twitter=@USER";
            MySqlCommand comand = new MySqlCommand(sql, conexion);

            comand.Parameters.AddWithValue("@USER", a.Tag);
            MySqlDataReader Reader = comand.ExecuteReader();

            if (Reader.Read())
            {
                labelNombreContacto.Text = Reader["usuario_twitter"].ToString();
                try
                {
                    avatarByte = (byte[])Reader["foto"];
                    ms         = new MemoryStream(avatarByte);
                    pictureBoxContacto.Image = Image.FromStream(ms, false, false);
                }
                catch (InvalidCastException)
                {
                    pictureBoxPerfilUserFoto.Image = null;//TODO: METER IMAGEN POR DEFECTO
                }
            }
            Reader.Close();


            sql    = "SELECT mensaje, num_rets,num_favs, user_emisor,foto FROM mensajes, usuarios WHERE user_emisor=@USER AND user_emisor=usuario_twitter";
            comand = new MySqlCommand(sql, conexion);
            comand.Parameters.AddWithValue("@USER", a.Tag);
            MySqlDataReader reader = comand.ExecuteReader();
            Image           fotoavatar;

            while (reader.Read())
            {
                CajaTwitt.BoxTwit cajita = new CajaTwitt.BoxTwit(ref conexion);
                cajita.ForeColor = Color.Black;
                cajita.SetTuit(reader["mensaje"].ToString());
                cajita.SetRets(Int32.Parse(reader["num_rets"].ToString()));
                cajita.SetFavs(Int32.Parse(reader["num_favs"].ToString()));
                cajita.SetUser(reader["user_emisor"].ToString());
                try
                {
                    avatarByte = (byte[])reader["foto"];
                    ms         = new MemoryStream(avatarByte);
                    fotoavatar = Image.FromStream(ms, false, false);
                }
                catch (InvalidCastException)
                {
                    fotoavatar = null;//TODO: METER IMAGEN POR DEFECTO
                }
                cajita.SetFoto(fotoavatar);
                flowLayoutPanelContacto.Controls.Add(cajita);
            }
            reader.Close();
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Rescata de la BBDD los tuits del propio usuario.
        /// </summary>
        private void RescateTwittsSelfUsuario(string Usuario)
        {
            byte[]       avatarByte = null;
            Image        fotoavatar = null;
            MemoryStream ms;
            string       sql    = "SELECT mensaje, num_rets,num_favs,user_emisor,foto from mensajes,usuarios WHERE user_emisor = @USER AND user_emisor = usuario_twitter ORDER BY fecha DESC";
            MySqlCommand comand = new MySqlCommand(sql, conexion);

            comand.Parameters.AddWithValue("@USER", Usuario);
            MySqlDataReader reader = comand.ExecuteReader();

            while (reader.Read())
            {
                CajaTwitt.BoxTwit cajita = new CajaTwitt.BoxTwit(ref conexion);
                cajita.ForeColor = Color.Black;
                cajita.SetTuit(reader["mensaje"].ToString());
                cajita.SetRets(Int32.Parse(reader["num_rets"].ToString()));
                cajita.SetFavs(Int32.Parse(reader["num_favs"].ToString()));
                cajita.SetUser(reader["user_emisor"].ToString());
                try
                {
                    avatarByte = (byte[])reader["foto"];
                    ms         = new MemoryStream(avatarByte);
                    fotoavatar = Image.FromStream(ms, false, false);
                }
                catch (InvalidCastException)
                {
                    pictureBoxPerfilUserFoto.Image = null;//TODO: METER IMAGEN POR DEFECTO
                }
                cajita.SetFoto(fotoavatar);
                cajita.Enabled = false; //evitamos que el user se autohaga retuit o fav. A lo mejor en twitter se puede, pero da igual, no me gusta y lo quito.
                flowLayoutPanelLastTuits.Controls.Add(cajita);
            }
            reader.Close();
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Rellena el flowlayout de los tuits de los seguidos por el usuario.
        /// </summary>
        private void RescateTimeline(string User)
        {
            byte[]       avatarByte = null;
            Image        fotoavatar = null;
            MemoryStream ms;
            string       sql    = "SELECT mensaje,num_rets,num_favs,user_emisor,foto FROM mensajes, usuarios WHERE user_emisor IN (SELECT user_seguido FROM seguimiento WHERE user_sigue = @USER) AND mensajes.user_emisor =usuarios.usuario_twitter ORDER BY fecha DESC";
            MySqlCommand comand = new MySqlCommand(sql, conexion);

            comand.Parameters.AddWithValue("@USER", User);
            MySqlDataReader reader = comand.ExecuteReader();

            while (reader.Read())
            {
                CajaTwitt.BoxTwit cajita = new CajaTwitt.BoxTwit(ref conexion);
                cajita.ForeColor = Color.Black;
                cajita.SetTuit(reader["mensaje"].ToString());
                cajita.SetRets(Int32.Parse(reader["num_rets"].ToString()));
                cajita.SetFavs(Int32.Parse(reader["num_favs"].ToString()));
                cajita.SetUser(reader["user_emisor"].ToString());
                cajita.ClicEnFoto += new System.EventHandler(this.IrAPerfilDeContacto);
                try
                {
                    avatarByte = (byte[])reader["foto"];
                    ms         = new MemoryStream(avatarByte);
                    fotoavatar = Image.FromStream(ms, false, false);
                }
                catch (InvalidCastException)
                {
                    pictureBoxPerfilUserFoto.Image = null;//TODO: METER IMAGEN POR DEFECTO
                }
                cajita.SetFoto(fotoavatar);
                flowLayoutPanelTwits.Controls.Add(cajita);
            }
            reader.Close();
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Evento que responde al botón de tuitear.
        /// </summary>
        private void ButtonTwittIt_Click(object sender, EventArgs e)
        {
            byte[]       avatarByte;
            MemoryStream ms;
            Image        fotoavatar = null;

            //inserción en BBDD
            string       sql    = "Insert INTO mensajes VALUES(@USER,@RECEPTOR,@DATE,@MENSAJE,@FAVS,@RETS)";
            MySqlCommand comand = new MySqlCommand(sql, conexion);

            comand.Parameters.AddWithValue("@USER", Usuario);
            comand.Parameters.AddWithValue("@RECEPTOR", "");
            comand.Parameters.AddWithValue("@DATE", DateTime.Now.ToString("yyyy-MM-dd h:mm:ss"));
            comand.Parameters.AddWithValue("@MENSAJE", richTextBoxCajaTwit.Text);
            comand.Parameters.AddWithValue("@FAVS", 0);
            comand.Parameters.AddWithValue("@RETS", 0);
            comand.ExecuteNonQuery();


            //refresco del flowlayout e inserción del tuit en la vista
            String sql2 = "SELECT foto FROM usuarios WHERE usuario_twitter = @USER";

            comand = new MySqlCommand(sql2, conexion);
            comand.Parameters.AddWithValue("@USER", Usuario);
            MySqlDataReader reader = comand.ExecuteReader();

            flowLayoutPanelTwits.Controls.Clear();
            CajaTwitt.BoxTwit cajita = new CajaTwitt.BoxTwit(ref conexion);
            cajita.ForeColor = Color.Black;
            cajita.SetTuit(richTextBoxCajaTwit.Text);
            cajita.SetRets(0);
            cajita.SetFavs(0);
            cajita.SetUser(Usuario);
            if (reader.Read())
            {
                try
                {
                    avatarByte = (byte[])reader["foto"];
                    ms         = new MemoryStream(avatarByte);
                    fotoavatar = Image.FromStream(ms, false, false);
                }
                catch (InvalidCastException)
                {
                    fotoavatar = null;//TODO: METER IMAGEN POR DEFECTO
                }
            }
            reader.Close();
            cajita.SetFoto(fotoavatar);
            flowLayoutPanelTwits.Controls.Add(cajita);
            RescateTimeline(Usuario);
            flowLayoutPanelLastTuits.Controls.Clear();
            RescateTwittsSelfUsuario(Usuario);
            richTextBoxCajaTwit.Text = "";
            CargarEstadisticas();
        }