Beispiel #1
0
        public List <ChatBO> AbrirChat(int idchat)
        {
            var        chat = new List <ChatBO>();
            SqlCommand cmd  = new SqlCommand("SELECT (SELECT foto FROM Usuario WHERE id=c.idenvia) AS foto, (SELECT (nombre + ' ' + apellidos) FROM Usuario WHERE id=c.idenvia) AS nombre, c.idenvia FROM Chat c WHERE c.id =@id");

            cmd.Parameters.Add("id", SqlDbType.Int).Value = idchat;

            cmd.Connection = con.establecerConexion();
            con.AbrirConexion();
            var query = cmd;

            using (var dr = query.ExecuteReader())
            {
                while (dr.Read())
                {
                    var c = new BO.ChatBO
                    {
                        idenvia  = Convert.ToInt32(dr["idenvia"].ToString()),
                        usuarios = new BO.UsuarioBO
                        {
                            foto   = "data:image/jpeg;base64," + Convert.ToBase64String((byte[])dr["foto"]),
                            nombre = dr["nombre"].ToString(),
                            id     = Convert.ToInt32(dr["idenvia"].ToString())
                        }
                    };
                    chat.Add(c);
                }
            }

            con.CerrarConexion();
            return(chat);
        }
Beispiel #2
0
        // Ver chat del idenvia
        public List <ChatBO> VerChatEnvia(int idchat)
        {
            var        chat = new List <ChatBO>();
            SqlCommand cmd  = new SqlCommand("SELECT m.*, u.foto, u.nombre + ' '+ u.apellidos AS nombre FROM Chat c JOIN Mensaje m ON m.idchat = c.id JOIN Usuario u ON u.id = c.idrecibe WHERE c.id =@id");

            cmd.Parameters.Add("id", SqlDbType.Int).Value = idchat;

            cmd.Connection = con.establecerConexion();
            con.AbrirConexion();
            var query = cmd;

            using (var dr = query.ExecuteReader())
            {
                while (dr.Read())
                {
                    var c = new BO.ChatBO
                    {
                        id       = Convert.ToInt32(dr["idchat"].ToString()),
                        mensajes = new BO.MensajesBO
                        {
                            id      = Convert.ToInt32(dr["id"].ToString()),
                            mensaje = dr["texto"].ToString(),
                            status  = Convert.ToInt32(dr["status"].ToString()),
                            sfecha  = Convert.ToDateTime(dr["fecha"]).ToString("dd-MM-yyyy"),
                            shora   = dr["hora"].ToString(),
                        },
                        usuarios = new BO.UsuarioBO
                        {
                            foto   = "data:image/jpeg;base64," + Convert.ToBase64String((byte[])dr["foto"]),
                            nombre = dr["nombre"].ToString()
                        }
                    };
                    chat.Add(c);
                }
            }

            con.CerrarConexion();
            return(chat);
        }
Beispiel #3
0
        //El Administrador recibe mensajes

        // Este es para el idrecibe (Administrador y Veterinario)
        public List <ChatBO> ObtenerListaChatsRecibe(int idUsuario)
        {
            var        chats = new List <ChatBO>();
            SqlCommand cmd   = new SqlCommand("SELECT c.*, u.foto, (u.nombre + ' '+ u.apellidos )AS nombre, (SELECT texto FROM Mensaje WHERE id = (SELECT MAX(m.id) FROM Mensaje m WHERE m.idchat =c.id)) AS mensaje, (SELECT hora FROM Mensaje WHERE id = (SELECT MAX(m.id) FROM Mensaje m WHERE m.idchat =c.id)) AS hora, (SELECT fecha FROM Mensaje WHERE id = (SELECT MAX(m.id) FROM Mensaje m WHERE m.idchat =c.id)) AS fecha, (SELECT COUNT(status) FROM Mensaje WHERE idchat =c.id AND status= 0 AND idUsuario = c.idenvia) AS contador FROM Chat c JOIN Usuario u ON u.id = c.idenvia WHERE c.idrecibe =@id");

            cmd.Parameters.Add("@id", SqlDbType.Int).Value = idUsuario;

            cmd.Connection = con.establecerConexion();
            con.AbrirConexion();
            var query = cmd;

            using (var dr = query.ExecuteReader())
            {
                while (dr.Read())
                {
                    var c = new BO.ChatBO
                    {
                        id       = Convert.ToInt32(dr["id"].ToString()),
                        idenvia  = Convert.ToInt32(dr["idenvia"].ToString()),
                        idrecibe = Convert.ToInt32(dr["idrecibe"].ToString()),
                        usuarios = new BO.UsuarioBO
                        {
                            foto   = "data:image/jpeg;base64," + Convert.ToBase64String((byte[])dr["foto"]),
                            nombre = dr["nombre"].ToString()
                        },
                        mensajes = new BO.MensajesBO
                        {
                            mensaje = dr["mensaje"].ToString(),
                            shora   = dr["hora"].ToString(),
                            sfecha  = Convert.ToDateTime(dr["fecha"]).ToString("yyyy-MM-dd"),
                            status  = Convert.ToInt32(dr["contador"].ToString())
                        }
                    };
                    chats.Add(c);
                }
            }
            con.CerrarConexion();
            return(chats);
        }