public void insertarTweetOtro(Tweet tweet) { NodoDoblementeEnlazado nodo = new NodoDoblementeEnlazado(); nodo.tweet = tweet; this.insertar(nodo); }
public void PruebaTwitear() { //Agregar usuario 1 Random rnd = new Random(); int int_usuario = rnd.Next(10000, 30000); String _username = "******" + int_usuario; Usuario objeto_usuario = new Usuario(); objeto_usuario.nickname = _username; objeto_usuario.clave = _username; _arbol.agregar_usuario(objeto_usuario); //Twitear Tweet tweet = new Tweet(objeto_usuario, "Prueba MSG"); objeto_usuario.tweets_muro.insertarTweet(tweet); _arbol.modifica_usuario(objeto_usuario); _arbol.inserta_xml_tuits(); //Revisar tweet NodoDoblementeEnlazado primero = objeto_usuario.tweets_muro.primero; if (primero.tweet.contenido.ToString() == "Prueba MSG") { Assert.IsTrue(true); } else { Assert.IsTrue(false, "Error al twittear"); } }
public void insertarTweet(Tweet tweet) { NodoDoblementeEnlazado nodo = new NodoDoblementeEnlazado(); nodo.tweet = tweet; this.insertar(nodo); for (int i = 0; i <= 1026; i++) { if (tweet.usuario.seguidores.Buscar(i) != null) { tweet.usuario.seguidores.Buscar(i).tweets_muro.insertarTweetOtro(tweet); } } }
public void insertar(NodoDoblementeEnlazado nodo) { if (primero == null || ultimo == null) { primero = nodo; ultimo = nodo; } else { nodo.anterior = ultimo; nodo.anterior.siguiente = nodo; ultimo = nodo; } }
public NodoDoblementeEnlazado EliminarNodo(NodoDoblementeEnlazado nodo, Tweet tweet) { if (nodo.tweet.contenido == tweet.contenido && nodo.tweet.fechaHora == tweet.fechaHora) { nodo = nodo.siguiente; if (nodo.anterior != null) { nodo.anterior.siguiente = nodo; } } else { nodo.siguiente = EliminarNodo(nodo.siguiente, tweet); } return(nodo); }
public ActionResult ListadoTuitExternos(String username) { Arbol arbol = new Arbol(); Usuario usuario = arbol.obtiene_usuario(username); if (usuario == null) { return(new EmptyResult()); } int tamanio = 0; NodoDoblementeEnlazado primero = usuario.tweets_muro.primero; while (primero != null) { if (primero.tweet.usuario.nickname == username) { tamanio++; } primero = primero.siguiente; } String[,] listado = new String[tamanio, 5]; NodoDoblementeEnlazado ultimo = usuario.tweets_muro.ultimo; int contador = 0; string assemblyFile = (new System.Uri(Assembly.GetExecutingAssembly().CodeBase)).AbsolutePath; while (ultimo != null) { if (ultimo.tweet.usuario.nickname == username) { listado[contador, 0] = ultimo.tweet.contenido; listado[contador, 1] = ultimo.tweet.usuario.nombreCompleto; string imagen = "avatar1.png"; if (System.IO.File.Exists(assemblyFile + "/../../Content/img/" + ultimo.tweet.usuario.ubicacionImagen)) { imagen = ultimo.tweet.usuario.ubicacionImagen; } listado[contador, 2] = imagen; listado[contador, 3] = ultimo.tweet.usuario.nickname; listado[contador, 4] = ultimo.tweet.fechaHora.Day + "/" + ultimo.tweet.fechaHora.Month + "/" + ultimo.tweet.fechaHora.Year + " " + ultimo.tweet.fechaHora.Hour + ":" + ultimo.tweet.fechaHora.Minute; contador++; } ultimo = ultimo.anterior; } string json = JsonConvert.SerializeObject(listado); return(Content(json, "application/json")); }
public ActionResult ListadoTuit() { Arbol arbol = new Arbol(); String username = Session["Usuario"].ToString(); Usuario usuario = arbol.obtiene_usuario(username); int tamanio = 0; NodoDoblementeEnlazado primero = usuario.tweets_muro.primero; while (primero != null) { tamanio++; primero = primero.siguiente; } String[,] listado = new String[tamanio, 5]; NodoDoblementeEnlazado ultimo = usuario.tweets_muro.ultimo; int contador = 0; string assemblyFile = (new System.Uri(Assembly.GetExecutingAssembly().CodeBase)).AbsolutePath; List <Tweet> listado_tweet = new List <Tweet>(); //filling the counts while (ultimo != null) { listado_tweet.Add(ultimo.tweet); ultimo = ultimo.anterior; } listado_tweet = listado_tweet.OrderByDescending(lc => lc.fechaHora).ToList(); ultimo = usuario.tweets_muro.ultimo; foreach (var tweet in listado_tweet) { listado[contador, 0] = tweet.contenido; listado[contador, 1] = tweet.usuario.nombreCompleto; listado[contador, 2] = tweet.usuario.ubicacionSinErrorImagen(); listado[contador, 3] = tweet.usuario.nickname; listado[contador, 4] = tweet.fechaHora.Day + "/" + tweet.fechaHora.Month + "/" + tweet.fechaHora.Year + " " + tweet.fechaHora.Hour + ":" + tweet.fechaHora.Minute; contador++; } string json = JsonConvert.SerializeObject(listado); return(Content(json, "application/json")); }
public ActionResult EliminarTuit(String contenido, String tiempo) { Arbol arbol = new Arbol(); String username = Session["Usuario"].ToString(); Usuario usuario = arbol.obtiene_usuario(username); NodoDoblementeEnlazado primero = usuario.tweets_muro.primero; DateTime fechaTuit = DateTime.ParseExact(tiempo, "d/M/yyyy H:m", System.Globalization.CultureInfo.InvariantCulture); Tweet tweet = null; while (primero != null) { tweet = primero.tweet; if (tweet != null && tweet.usuario.nickname == username && tweet.contenido == contenido && tweet.fechaHora.Year == fechaTuit.Year && tweet.fechaHora.Month == fechaTuit.Month && tweet.fechaHora.Day == fechaTuit.Day && tweet.fechaHora.Hour == fechaTuit.Hour && tweet.fechaHora.Minute == fechaTuit.Minute) { break; } primero = primero.siguiente; } if (tweet != null) { usuario.tweets_muro.eliminar(tweet); arbol.modifica_usuario(usuario); arbol.inserta_xml_tuits(); for (int i = 0; i < 1027; i++) { if (usuario.seguidores.Buscar(i) != null) { usuario.seguidores.Buscar(i).tweets_muro.eliminar(tweet); arbol.modifica_usuario(usuario.seguidores.Buscar(i)); arbol.inserta_xml_tuits(); } } Session["Mensaje_Exito"] = "Tweet Eliminado"; } else { Session["Mensaje_Error"] = "Tweet no encontrado"; } return(RedirectToAction("Index", "Home")); }
public ListaDoblementeEnlazada() { primero = null; ultimo = null; }