public ActionResult CreateArtesanal(FormCollection collection) { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); try { // TODO: Add insert logic here var Jugador1 = new Jugador { ID = Data.Instance.JugadoresArtesanal.Tamaño() + 1, Nombre = collection["Nombre"], Apellido = collection["Apellido"], Posición = collection["Posición"], Salario = Convert.ToDecimal(collection["Salario"]), Club = collection["Club"] }; NodoDoble <Jugador> jugadorNuevo = new NodoDoble <Jugador>(null, Jugador1, null); Data.Instance.JugadoresArtesanal.InsertarUltimo(jugadorNuevo); stopwatch.Stop(); Data.Instance.ArchivoTexto.Add("Tiempo de ejecucion de insercion manual en la Lista Artesanal: " + stopwatch.ElapsedMilliseconds + " milisegundos"); imprimirArchivo(); return(RedirectToAction("Index")); } catch { return(View()); } }
//Aca se hace el Ingreso por medio de Archivo de Texto, ya que el Boton de Result esta Linkeado. public ActionResult UploadFileArtesanal(HttpPostedFileBase file) { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); if (Path.GetExtension(file.FileName) != ".csv") { //Aca se debe de Agregar una Vista de Error, o de Datos No Cargados //return RedirectToAction("Index"); } Stream Direccion = file.InputStream; //Se lee el Archivo que se subio, por medio del Lector StreamReader Lector = new StreamReader(Direccion); //El Archivo se lee en una lista para luego ingresarlo //Se crea un Jugador Momentaneo para pasar los datos string Dato = Lector.ReadLine(); Dato = Lector.ReadLine(); string[] Linea = Dato.Split(','); while (Dato != null) { var Jugador1 = new Jugador { ID = Data.Instance.JugadoresArtesanal.Tamaño() + 1, Club = Linea[0], Apellido = Linea[1], Nombre = Linea[2], Posición = Linea[3], Salario = Convert.ToDecimal(Linea[4]) }; NodoDoble <Jugador> jugadorNuevo = new NodoDoble <Jugador>(null, Jugador1, null); Data.Instance.JugadoresArtesanal.InsertarUltimo(jugadorNuevo); Dato = Lector.ReadLine(); if (Dato != null) { Linea = Dato.Split(','); } } stopwatch.Stop(); Data.Instance.ArchivoTexto.Add("Tiempo de ejecucion de la carga de jugadores por archivo de texto en la Lista Artesanal: " + stopwatch.ElapsedMilliseconds + " milisegundos"); return(RedirectToAction("Index")); }
// Este codigo sirve para poder recorrer la listadoble public IEnumerator <Item> GetEnumerator() { NodoDoble actual = primero; int size = n; while (actual != null) { yield return(actual.item); actual = actual.siguiente; } }
public ActionResult DeleteArtesanal(int id, FormCollection collection) { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); try { foreach (Jugador persona in Data.Instance.JugadoresArtesanal) { if (persona.ID == id) { int cont = 0; bool listo = false; while (listo != true) { if (Data.Instance.JugadoresArtesanal.ElementAt(cont).ID != persona.ID) { cont++; } else { NodoDoble <Jugador> JugadorBorrar = new NodoDoble <Jugador>(null, persona, null); Data.Instance.JugadoresArtesanal.EliminarOrden(JugadorBorrar); listo = true; } } if (listo == true) { break; } } } stopwatch.Stop(); Data.Instance.ArchivoTexto.Add("Tiempo de ejecucion de eliminación en la Lista Artesanal: " + stopwatch.ElapsedMilliseconds + " milisegundos"); imprimirArchivo(); return(RedirectToAction("Index")); } catch { return(View()); } }
public void AgregarInicio(Item item) { if (EstaVacia()) { primero = new NodoDoble(); primero.item = item; primero.siguiente = null; primero.anterior = null; ultimo = primero; } else { NodoDoble oldprimero = primero; primero = new NodoDoble(); primero.item = item; primero.siguiente = oldprimero; primero.anterior = null; oldprimero.anterior = primero; } n++; }
public void AgregarAlFinal(Item item) { if (EstaVacia()) { ultimo = new NodoDoble(); ultimo.item = item; ultimo.sig = null; ultimo.ant = null; primero = ultimo; } else { NodoDoble oldultimo = ultimo; ultimo = new NodoDoble(); ultimo.item = item; ultimo.sig = null; ultimo.ant = oldultimo; oldultimo.sig = ultimo; } N++; }
public void AgregarAlInicio(Item item) { if (EstaVacia()) { primero = new NodoDoble(); primero.item = item; primero.sig = null; primero.ant = null; ultimo = primero; } else { NodoDoble oldprimero = primero; primero = new NodoDoble(); primero.item = item; primero.sig = oldprimero; primero.ant = null; oldprimero.ant = primero; } N++; }
public void AgregarFinal(Item item) { if (EstaVacia()) { ultimo = new NodoDoble(); ultimo.item = item; ultimo.siguiente = null; ultimo.anterior = null; primero = ultimo; } else { NodoDoble oldultimo = ultimo; ultimo = new NodoDoble(); ultimo.item = item; ultimo.siguiente = null; ultimo.anterior = oldultimo; oldultimo.siguiente = ultimo; } n++; }
public void Remover(Item item) { if (EstaVacia()) { throw new InvalidOperationException("List is Empty"); } NodoDoble cabeza = primero; // if primero element in list equals to item, Remover if (cabeza.item.Equals(item)) { primero = primero.siguiente; if (primero != null) { primero.anterior = null; } n--; } while (cabeza.siguiente != null) { if (cabeza.siguiente.item.Equals(item)) { cabeza.siguiente = cabeza.siguiente.siguiente; if (cabeza.siguiente != null) { cabeza.siguiente.anterior = cabeza; } else { ultimo = cabeza; } n--; continue; } cabeza = cabeza.siguiente; } }
public void Remover(Item item) { if (EstaVacia()) { throw new InvalidOperationException("List is Empty"); } NodoDoble head = primero; // if primero element in list equals to item, Remover if (head.item.Equals(item)) { primero = primero.sig; if (primero != null) { primero.ant = null; } N--; } while (head.sig != null) { if (head.sig.item.Equals(item)) { head.sig = head.sig.sig; if (head.sig != null) { head.sig.ant = head; } else { ultimo = head; } N--; continue; } head = head.sig; } }
public Item RemoverFinal() { if (EstaVacia()) { throw new InvalidOperationException("List Underflow"); } Item item; if (Tamaño() == 1) { item = ultimo.item; ultimo = null; primero = ultimo; } else { item = ultimo.item; ultimo = ultimo.anterior; ultimo.siguiente = null; } n--; return(item); }
public Item RemoverrDelInicio() { if (EstaVacia()) { throw new InvalidOperationException("List Underflow"); } Item item; if (Tamaño() == 1) { item = primero.item; primero = null; ultimo = null; } else { item = primero.item; primero = primero.sig; primero.ant = null; } N--; return(item); }
public ActionResult Edit(int id, FormCollection collection) { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); try { Jugador jugadorExistente = Data.Instance.JugadoresArtesanal.ElementAt(id - 1); //NodoDoble nodoJugadorExistente; // Aqui se Edita el Jugador var personaNuevo = new Jugador { ID = jugadorExistente.ID, Nombre = jugadorExistente.Nombre, Apellido = jugadorExistente.Apellido, Posición = jugadorExistente.Posición, Salario = Convert.ToDecimal(collection["Salario"]), Club = collection["Club"] }; NodoDoble <Jugador> jugadorNuevo = new NodoDoble <Jugador>(null, personaNuevo, null); foreach (Jugador persona in Data.Instance.JugadoresArtesanal) { if (persona.ID == id) { int cont = 0; bool listo = false; while (listo != true) { if (Data.Instance.JugadoresArtesanal.ElementAt(cont).ID != persona.ID) { cont++; } else { NodoDoble <Jugador> personaElimnar = new NodoDoble <Jugador>(null, persona, null); Data.Instance.JugadoresArtesanal.EliminarOrden(personaElimnar); Data.Instance.JugadoresArtesanal.InsertarPorPosicion(cont, jugadorNuevo); listo = true; } } if (listo == true) { break; } } } stopwatch.Stop(); Data.Instance.ArchivoTexto.Add("Tiempo de ejecucion de la edición en la Lista Artesanal: " + stopwatch.ElapsedMilliseconds + " milisegundos"); imprimirArchivo(); return(RedirectToAction("Index")); } catch { return(View()); } }
public void asignaLigaIzquierda(NodoDoble x) { ligaIzquierda = x; }
public NodoDoble(object dato) { this.dato = dato; ligaDerecha = null; ligaIzquierda = null; }
//Aca se hace el Ingreso por medio de Archivo de Texto, ya que el Boton de Result esta Linkeado. public ActionResult DeleteFileArtesanal(HttpPostedFileBase file) { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); if (Path.GetExtension(file.FileName) != ".csv") { //Aca se debe de Agregar una Vista de Error, o de Datos No Cargados //return RedirectToAction("Index"); } Stream Direccion = file.InputStream; //Se lee el Archivo que se subio, por medio del Lector StreamReader Lector = new StreamReader(Direccion); //El Archivo se lee en una lista para luego ingresarlo //Se crea un Jugador Momentaneo para pasar los datos string Dato = Lector.ReadLine(); Dato = Lector.ReadLine(); string[] Linea = Dato.Split(','); while (Dato != null) { var jugadorEliminar = new Jugador { ID = Data.Instance.JugadoresArtesanal.Count() + 1, Club = Linea[0], Apellido = Linea[1], Nombre = Linea[2], Posición = Linea[3], Salario = Convert.ToDecimal(Linea[4]) }; foreach (Jugador persona in Data.Instance.JugadoresArtesanal) { if (persona.Nombre == jugadorEliminar.Nombre && persona.Apellido == jugadorEliminar.Apellido && persona.Posición == jugadorEliminar.Posición && persona.Salario == jugadorEliminar.Salario && persona.Club == jugadorEliminar.Club) { int cont = 0; bool listo = false; while (listo != true) { if (Data.Instance.JugadoresArtesanal.ElementAt(cont).ID != persona.ID) { cont++; } else { NodoDoble <Jugador> JugadorBorrar = new NodoDoble <Jugador>(null, persona, null); Data.Instance.JugadoresArtesanal.EliminarOrden(JugadorBorrar); listo = true; } } if (listo == true) { break; } } } Dato = Lector.ReadLine(); if (Dato != null) { Linea = Dato.Split(','); } } stopwatch.Stop(); Data.Instance.ArchivoTexto.Add("Tiempo de ejecucion de eliminación por archivo de texto en la Lista Artesanal: " + stopwatch.ElapsedMilliseconds + " milisegundos"); imprimirArchivo(); return(RedirectToAction("Index")); }
public void asignaLigaDerecha(NodoDoble x) { ligaDerecha = x; }