private void btnEnviar_cola_Click(object sender, EventArgs e)
        {
            //Progressbar
            try //Si no se tiene ningun valor y se presiona finalizar el maximum de progressbar = 10
            {
                pb_cola.Maximum = dgv_cola.RowCount;
            }
            catch (Exception)
            {
                pb_cola.Maximum = 10;
            }
            bool perfomstep = false; //Variable que verifica qe almenos se haya realizado una accion.

            for (int i = 0; i < dgv_cola.RowCount; i++)
            {
                if (Convert.ToBoolean(dgv_cola[0, i].Value))
                {
                    perfomstep           = true;                           //Se ejecutó una acción.
                    dgv_cola[1, i].Value = false;                          //Borra el check.

                    int id = Convert.ToInt32(dgv_cola[2, i].Value);        //Toma el id de paquete del dgv
                    int LugarEncontrado = BusquedaYasignacion.Binaria(id); //Busca la posicion del id en la lista

                    //Le asigna la ruta al paquete (propiedad).
                    Master.PaquetesFueraAlmacen[LugarEncontrado].Status = 3;

                    //Mandarlo a PaqutesAntiguos
                    Master.PaquetesAntiguos.Add(Master.PaquetesFueraAlmacen[LugarEncontrado]);

                    //Borrarlo de lista Fuera de almacen
                    Master.PaquetesFueraAlmacen.RemoveAt(LugarEncontrado);
                }
                if (perfomstep)
                {
                    pb_cola.PerformStep();
                }
            }

            if (perfomstep)
            {
                pb_cola.Value        = pb_cola.Maximum;
                Master.ColaACamiones = new Queue <Paquete>();
                for (int i = Master.PaquetesFueraAlmacen.Count - 1; i >= 0; i--)
                {
                    Master.ColaACamiones.Enqueue(Master.PaquetesFueraAlmacen[i]);
                }

                //Carga de nuevo info a gdv
                try
                {
                    ToDgv(dgv_cola, Master.PaquetesFueraAlmacen);
                }
                catch (Exception)
                {
                }
            }
        }
        private void dgv_cola_SelectionChanged(object sender, EventArgs e)
        {
            try
            {
                Paquete pq  = new Paquete();
                int     row = Convert.ToInt32(dgv_cola.CurrentRow.Index);
                int     id  = Convert.ToInt32(dgv_cola[2, row].Value);
                pq = Master.PaquetesFueraAlmacen[BusquedaYasignacion.Binaria(id)];

                rec_id.Text           = pq.ID.ToString();;
                rec_destinatario.Text = pq.Destinatario;
                rec_direccionD.Text   = pq.DireccionDestinatario;
                rec_direccionR.Text   = pq.DireccionRemitente;
                rec_fechaE.Text       = pq.FechaEnvio.ToShortDateString();
                rec_peso.Text         = pq.Peso.ToString();
                rec_remitente.Text    = pq.Remitente;
            }
            catch (Exception)
            {
                //throw;
            }
        }
Example #3
0
        private void btnBuscar_hist_Click(object sender, EventArgs e)
        {
            //Limpia forma
            //id_hist.Clear();
            peso_hist.Clear();
            remitente_hist.Clear();
            destinatario_hist.Clear();
            direccionD_hist.Clear();
            direccionR_hist.Clear();
            fechaE_hist.Clear();
            LbShowStatus_hist.Visible = false;
            lbError_hist.Visible      = false;
            lbCheck1_hist.Visible     = lbCheck2_hist.Visible = lbCheck3_hist.Visible = lbCheck4_hist.Visible = lbCheck5_hist.Visible = false;
            Step1.Visible             = Step2.Visible = Step3.Visible = Step4.Visible = Step5.Visible = false;
            Porcentaje_hist.Size      = new Size(0, 0);

            //Paquete auxiliar
            pq                  = new Paquete();
            Encontrado          = false;
            EncontradoEnAlmacen = EncontradoEnCola = false;
            cords               = new int[] { -1, -1 };
            cordEnLista         = -1;
            cordEnAntiguos      = -1;

            try
            {
                //Busca el paquete en almacen y regresa Estante y nivel
                cords               = hs.MostrarHash(int.Parse(id_hist.Text));
                Encontrado          = true;
                EncontradoEnAlmacen = true;
            }
            catch (Exception)
            {
                try
                {
                    //Si no lo encontró en estantes busca en cola para camion
                    cordEnLista      = BusquedaYasignacion.Binaria(int.Parse(id_hist.Text));
                    Encontrado       = true;
                    EncontradoEnCola = true;
                }
                catch (Exception ex)
                {
                    //Si no lo encontró en cola busca en antiguos
                    try
                    {
                        cordEnAntiguos       = BusquedaYasignacion.Binaria(int.Parse(id_hist.Text), Master.PaquetesAntiguos);
                        EncontradoEnAntiguos = Encontrado = true;
                    }
                    catch (Exception)
                    {
                        CustomMsgBox.Mostrar(ex.Message);
                        lbError_hist.Visible = true;
                        //throw;
                    }
                }
            }

            if (Encontrado)
            {
                //Si lo encontró copia el paquete al aux
                if (EncontradoEnAlmacen)
                {
                    pq = Master.Paquetes[cords[0], cords[1]];
                }
                else if (EncontradoEnCola)
                {
                    pq = Master.PaquetesFueraAlmacen[cordEnLista];
                }
                else if (EncontradoEnAntiguos)
                {
                    pq = Master.PaquetesAntiguos[cordEnAntiguos];
                }

                //Actualiza campos para mostrar información.
                id_hist.Text              = pq.ID.ToString();
                peso_hist.Text            = pq.Peso.ToString();
                remitente_hist.Text       = pq.Remitente;
                destinatario_hist.Text    = pq.Destinatario;
                direccionR_hist.Text      = pq.DireccionRemitente;
                direccionD_hist.Text      = pq.DireccionDestinatario;
                fechaE_hist.Text          = pq.FechaEnvio.ToShortDateString();
                LbShowStatus_hist.Visible = true;

                string MostrarEstado = ""; //Variable usada para mostrar el texto en pantalla

                switch (pq.Status)         //Dependiendo del status del paquete cambia el tamaño de la barra y muestra las etapas.
                {
                case 0:
                    cbStatus_hist.Text      = MostrarEstado = "Recibido";
                    Step1.Visible           = lbCheck1_hist.Visible = true;
                    Porcentaje_hist.Visible = true;
                    Porcentaje_hist.Size    = new Size(56, 18);
                    break;

                case 1:
                    cbStatus_hist.Text      = MostrarEstado = "Asignado";
                    Step1.Visible           = lbCheck1_hist.Visible = true;
                    Porcentaje_hist.Visible = true;
                    Porcentaje_hist.Size    = new Size(56, 18);
                    break;

                case 2:
                    cbStatus_hist.Text      = MostrarEstado = "Programado";
                    Step1.Visible           = lbCheck1_hist.Visible = true;
                    Porcentaje_hist.Visible = true;
                    Porcentaje_hist.Size    = new Size(56, 18);
                    break;

                case 3:
                    cbStatus_hist.Text      = MostrarEstado = "Enviado";
                    Step1.Visible           = lbCheck1_hist.Visible = true;
                    Step2.Visible           = lbCheck2_hist.Visible = true;
                    Porcentaje_hist.Visible = true;
                    Porcentaje_hist.Size    = new Size(179, 18);
                    break;

                case 4:
                    cbStatus_hist.Text      = MostrarEstado = "En ciudad";
                    Step1.Visible           = lbCheck1_hist.Visible = true;
                    Step2.Visible           = lbCheck2_hist.Visible = true;
                    Step3.Visible           = lbCheck3_hist.Visible = true;
                    Porcentaje_hist.Visible = true;
                    Porcentaje_hist.Size    = new Size(287, 18);
                    break;

                case 5:
                    cbStatus_hist.Text      = MostrarEstado = "Reparto";
                    Step1.Visible           = lbCheck1_hist.Visible = true;
                    Step2.Visible           = lbCheck2_hist.Visible = true;
                    Step3.Visible           = lbCheck3_hist.Visible = true;
                    Step4.Visible           = lbCheck4_hist.Visible = true;
                    Porcentaje_hist.Visible = true;
                    Porcentaje_hist.Size    = new Size(403, 18);
                    break;

                case 6:
                    cbStatus_hist.Text      = MostrarEstado = "Entregado";
                    Step1.Visible           = lbCheck1_hist.Visible = true;
                    Step2.Visible           = lbCheck2_hist.Visible = true;
                    Step3.Visible           = lbCheck3_hist.Visible = true;
                    Step4.Visible           = lbCheck4_hist.Visible = true;
                    Step5.Visible           = lbCheck5_hist.Visible = true;
                    Porcentaje_hist.Visible = true;
                    Porcentaje_hist.Size    = new Size(519, 18);
                    break;

                case -1:
                    LbShowStatus_hist.Visible = false;
                    cbStatus_hist.Text        = "Error";
                    lbError_hist.Text         = "Error entrega";
                    lbError_hist.Visible      = true;
                    break;

                default:
                    break;
                }

                LbShowStatus_hist.Text = MostrarEstado;                  //Muestra el estado en pantalla.

                Stack <String> auxPila = pq.Historial;                   //Copia la pila del historial a una lista.

                LbHistorial_hist.DataSource = auxPila.ToList <string>(); //Muestra el historial en ListBox
            }
        }