Exemplo n.º 1
0
        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());
            }
        }
Exemplo n.º 2
0
        //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"));
        }
Exemplo n.º 3
0
        // 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;
            }
        }
Exemplo n.º 4
0
        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());
            }
        }
Exemplo n.º 5
0
 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++;
 }
Exemplo n.º 6
0
 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++;
 }
Exemplo n.º 7
0
 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++;
 }
Exemplo n.º 8
0
 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++;
 }
Exemplo n.º 9
0
        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;
            }
        }
Exemplo n.º 10
0
        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;
            }
        }
Exemplo n.º 11
0
        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);
        }
Exemplo n.º 12
0
        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);
        }
Exemplo n.º 13
0
        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());
            }
        }
Exemplo n.º 14
0
 public void asignaLigaIzquierda(NodoDoble x)
 {
     ligaIzquierda = x;
 }
Exemplo n.º 15
0
 public NodoDoble(object dato)
 {
     this.dato     = dato;
     ligaDerecha   = null;
     ligaIzquierda = null;
 }
Exemplo n.º 16
0
        //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"));
        }
Exemplo n.º 17
0
 public void asignaLigaDerecha(NodoDoble x)
 {
     ligaDerecha = x;
 }