示例#1
0
        private void btnAgregar_Click(object sender, EventArgs e)
        {
            Paquete Paquete = new Paquete(this.txtDireccion.Text, this.mtxtTrackingID.Text);


            Paquete.InformarEstado += paq_InformaEstado;

            try
            {
                this._correo += Paquete;


                PaqueteDAO.Insertar(Paquete);
            }

            catch (TrackingIdRepetidoException EX)
            {
                MessageBox.Show(EX.Message);
            }

            catch (Exception EX)
            {
                MessageBox.Show(EX.Message);
            }


            this.ActualizarEstado(new object(), new EventArgs());
        }
示例#2
0
        private void ActualizarEstados()
        {
            this.lstEntregado.Items.Clear();
            this.lstEnViaje.Items.Clear();
            this.lstIngresado.Items.Clear();
            foreach (Paquete p in this.correo.Paquetes)
            {
                switch ((int)p.Estado)
                {
                case 0:
                    this.lstIngresado.Items.Add(p);
                    break;

                case 1:
                    this.lstEnViaje.Items.Add(p);
                    break;

                case 2:
                    this.lstEntregado.Items.Add(p);
                    try
                    {
                        PaqueteDAO.Insertar(p);
                    }catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    break;
                }
            }
        }
示例#3
0
 /// <summary>
 /// Informa estado del paquete e invoca el metodo
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void paq_InformaEstado(object sender, EventArgs e)
 {
     try
     {
         if (this.InvokeRequired)
         {
             Paquete.DelegadoEstado d = new Paquete.DelegadoEstado(paq_InformaEstado);
             this.Invoke(d, new object[] { sender, e });
         }
         else
         {
             if (((Paquete)sender).Estado == Paquete.EEstado.Entregado)
             {
                 try
                 {
                     PaqueteDAO.Insertar(((Paquete)sender));
                 }
                 catch (Exception E)
                 {
                     MessageBox.Show(E.Message);
                 }
             }
             ActualizarEstados();
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
示例#4
0
        static void Main(string[] args)
        {
            Paquete p = new Paquete("direccionEntrega", "DireccionSalida");

            PaqueteDAO.Insertar(p);
            //string texto = "Sarasa";
            //texto.Guarda("Archivo");


            Console.ReadKey();
        }
示例#5
0
        /// <summary>
        /// a.	Colocar una demora de 10 segundos.
        /// b.	Pasar al siguiente estado.
        /// c.	Informar el estado a través de InformarEstado. EventArgs no tendrá ningún dato extra.
        /// d.	Repetir las acciones desde el punto A hasta que el estado sea Entregado.
        /// e.	Finalmente guardar los datos del paquete en la base de datos.
        /// </summary>
        public void MockCicloDeVida()
        {
            while (this.Estado != EEstado.Entregado)
            {
                Thread.Sleep(4000);
                this.Estado += 1;
                InformaEstado?.Invoke(this, null);
            }

            PaqueteDAO.Insertar(this);
        }
示例#6
0
        /// <summary>
        /// El evento del boton agregar,  utiliza a InformarEstado para ir modificando el estado del paquete en el tiempo,
        /// utiliza al + para agregar el paquete al correo, actualiza estado lo cambia de un estado a otro y al llamar al Insertar
        /// si se produce una excepcion la y muestra el mensaje correspondiente; tanto si hay un id repetido o no puede insertar.
        /// tracking id repetido captura la excepcion.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnAgregar_Click(object sender, EventArgs e)
        {
            Paquete p = new Paquete(txtDireccion.Text, mtxtTrackingID.Text);

            p.InformarEstado += paq_InformaEstado;

            try
            {
                correo += p;
                ActualizarEstados();
                PaqueteDAO.Insertar(p);
            }
            catch (TrackingIdRepetidoException error)
            {
                MessageBox.Show(error.Message, "Paquete repetido", MessageBoxButtons.OK, MessageBoxIcon.Question);
            }
        }
示例#7
0
        public void mockCicloDeVida()
        {
            do
            {
                this.InformaEstado.Invoke(this, null);

                Thread.Sleep(5000);
                if (this.Estado == EEstado.ingresado)
                {
                    this.Estado = EEstado.enViaje;
                }
                else
                {
                    this.Estado = EEstado.Entregado;
                }
            }while(this.Estado != EEstado.Entregado);



            this.InformaEstado.Invoke(this, null);
            PaqueteDAO.Insertar(this);
        }
示例#8
0
 private void paq_InformaEstado(object sender, EventArgs e)
 {
     if (this.InvokeRequired)
     {
         Paquete.DelegadoEstado d = new Paquete.DelegadoEstado(paq_InformaEstado);
         this.Invoke(d, new object[] { sender, e });
     }
     else
     {
         if (((Paquete)sender).Estado == Paquete.EEstado.Entregado)
         {
             try
             {
                 PaqueteDAO.Insertar((Paquete)sender);
             }
             catch (Exception ex)
             {
                 MessageBox.Show("Ocurrio un error durante la carga de datos. El error" +
                                 " presenta el siguiente mensje:\n" + ex.Message);
             }
         }
         this.ActualizarEstados();
     }
 }
示例#9
0
        public void PaqueteDAO_Insertar()
        {
            Paquete paquete = new Paquete("Bs As", "20/001");

            Assert.IsTrue(PaqueteDAO.Insertar(paquete));
        }