Esempio n. 1
0
        //--------------- FIN MOVER FORMA ---------------

        //--------------- INICIO BOTONES FORMA ---------------
        private void CloseButton_Click(object sender, EventArgs e) //Boton que cierra la forma
        {
            this.Close();
            if (!advertenciacerrar)
            {
                CustomMsgBox.Mostrar("Antes de que te vayas...", "Asegurate de guardar la información antes de salir, de lo contrario los cambios pueden perderse. ");
                advertenciacerrar = true;
            }
            else if (advertenciacerrar)
            {
                this.Close();
            }
        }
        private void btnAgregar_Click(object sender, EventArgs e)
        {
            try
            {
                //Intenta agregar los datos ingresados en la forma a un nuevo paquete solo para verificar que los datos fueron escritos correctamente.
                pq = new Paquete(idActual, Convert.ToDouble(rec_peso.Text), rec_remitente.Text, rec_destinatario.Text, rec_direccionR.Text, rec_direccionD.Text, Convert.ToDateTime(rec_fechaE.Text), -1);

                //Agrega los datos al dgv
                dgv_recepcion.Rows.Add(idActual, rec_peso.Text, rec_remitente.Text, rec_destinatario.Text,
                                       rec_direccionR.Text, rec_direccionD.Text, rec_fechaE.Text, "-1", "-1");

                idActual++;         //incrementa idactual

                ////Limpia controles de agregar paquete.
                //rec_destinatario.Clear();
                //rec_direccionD.Clear();
                //rec_direccionR .Clear();
                //rec_fechaE.Clear();
                //rec_peso.Clear();
                //rec_remitente.Clear();
            }
            catch (Exception ex)
            {
                //Cambia colores
                CloseButton.BackColor = MinimizeButton.BackColor = TituloForma.BackColor = TopBar.BackColor = Color.FromArgb(229, 115, 104);
                //TituloForma.ForeColor = Color.White;

                //Muestra mensaje error.
                CustomMsgBox.Mostrar(ex.Message);

                //Regresa colores.
                CloseButton.BackColor = MinimizeButton.BackColor = TituloForma.BackColor = TopBar.BackColor = Color.FromArgb(16, 157, 89);
                //TituloForma.ForeColor = Color.FromArgb(181, 181, 181);
            }
            finally
            {
                rec_id.Text = idActual.ToString();         //Vuelve a mostrar id en forma.
                rec_peso.Focus();
            }
        }
Esempio n. 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
            }
        }
        private void btnFinalizar_Click(object sender, EventArgs e) //Boton que carga los datos del dgv en el arreglo de paquetes
        {
            bool   error            = false;                        //Variable que =true cuando hay error en operacion
            string descripcionError = "";                           //Descripciond el error

            //Limpiar campos
            rec_destinatario.Clear();
            rec_direccionD.Clear();
            rec_direccionR.Clear();
            rec_fechaE.Clear();
            rec_peso.Clear();
            rec_remitente.Clear();
            rec_remitente.ReadOnly = true;

            //Modificar atributos campos
            rec_destinatario.ReadOnly = true;
            rec_direccionD.ReadOnly   = true;
            rec_direccionR.ReadOnly   = true;
            rec_fechaE.ReadOnly       = true;
            rec_peso.ReadOnly         = true;
            rec_remitente.ReadOnly    = true;
            dgv_recepcion.ReadOnly    = true;
            btnFinalizarL.Enabled     = btnFinalizar.Enabled = false;

            //Progressbar
            try //Si no se tiene ningun valor y se presiona finalizar el maximum de progressbar = 10
            {
                pb_rec.Maximum = dgv_recepcion.RowCount;
            }
            catch (Exception)
            {
                pb_rec.Maximum = 10;
            }

            if (dgv_recepcion.RowCount == 0) //Verifica que haya datos en dgv
            {
                descripcionError = "Oh! Creo que olvidaste agregar infomación! Presina el boton 'nuevo', esta vez agrega al menos un paquete antes de presionarme de nuevo.";
                error            = true;
            }

            for (int i = 0; i < dgv_recepcion.RowCount; i++)
            {
                //Carga los dato en pq para despues agtregarlo al arreglo
                pq = new ProyectoFinalv2.Paquete(int.Parse(dgv_recepcion [0, i].Value.ToString()),
                                                 Convert.ToDouble(dgv_recepcion [1, i].Value.ToString()),
                                                 dgv_recepcion [2, i].Value.ToString(),
                                                 dgv_recepcion [3, i].Value.ToString(),
                                                 dgv_recepcion [4, i].Value.ToString(),
                                                 dgv_recepcion [5, i].Value.ToString(),
                                                 Convert.ToDateTime(dgv_recepcion [6, i].Value.ToString()));
                pq.Historial.Push(DateTime.Now.ToString() + " : Paquete recibido en instalaciones para envío.");     //Agrega evento al historial del paquete

                try
                {
                    hs.InsertarHash(pq);
                    dgv_recepcion[7, i].Value = hs.Ui;         //Si logró insertar actualiza el "estante" del dgv
                    dgv_recepcion[8, i].Value = hs.Uj;         //Si logró insertar actualiza el "nivel" del dgv
                    pb_rec.PerformStep();
                }
                catch (Exception ex)
                {
                    descripcionError          = ex.Message;
                    error                     = true;
                    dgv_recepcion[7, i].Value = "x";
                    dgv_recepcion[8, i].Value = "x";
                    idActual--;         //Reduce el ID, ya que no fue posible insertar
                }
            }

            if (error) //Si alguna operacion resultó en error muestra el mensaje
            {
                //Cambia colores
                CloseButton.BackColor = MinimizeButton.BackColor = TituloForma.BackColor = TopBar.BackColor = Color.FromArgb(229, 115, 104);
                //TituloForma.ForeColor = Color.White;

                //Muestra mensaje
                CustomMsgBox.Mostrar(descripcionError);

                //Regresa colores
                CloseButton.BackColor = MinimizeButton.BackColor = TituloForma.BackColor = TopBar.BackColor = Color.FromArgb(16, 157, 89);
                //TituloForma.ForeColor = Color.FromArgb(181, 181, 181);

                error = false;
            }
        }