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()); }
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; } } }
/// <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); } }
static void Main(string[] args) { Paquete p = new Paquete("direccionEntrega", "DireccionSalida"); PaqueteDAO.Insertar(p); //string texto = "Sarasa"; //texto.Guarda("Archivo"); Console.ReadKey(); }
/// <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); }
/// <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); } }
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); }
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(); } }
public void PaqueteDAO_Insertar() { Paquete paquete = new Paquete("Bs As", "20/001"); Assert.IsTrue(PaqueteDAO.Insertar(paquete)); }