public void MockCicloDeVida() { Thread.Sleep(4000); estado = EEstado.EnViaje; if (this.InformarEstado != null) { InformarEstado.Invoke(this, null); } Thread.Sleep(4000); estado = EEstado.Entregado; if (this.InformarEstado != null) { InformarEstado.Invoke(this, null); } try { PaqueteDAO.Insertar(this); } catch (Exception ex) { if (this.InformarError != null) { InformarError.Invoke(ex.Message + " paquete con TrakingId = " + this.trackingID, null); } } }
/// <summary> /// El ciclo de vida del producto que cambia de estado hasta ser entregado /// </summary> public void MockCicloDeVida() { bool cicloDeVida = true; //Lanza el evento, lo duerme 4 segundos, pasa al siguiente estado hasta llegar a ser entregado while (cicloDeVida == true) { InformarEstado.Invoke(this, EventArgs.Empty); Thread.Sleep(4000); if (this.Estado == EEstado.Entregado) { break; } this.Estado++; } try { //Guarda en base de datos PaqueteDAO.Insertar(this); } catch (Exception e) { throw new Exception("No pudo insertar en BD", e); } }
/// <summary> /// Coloca una demora, realiza los cambios de estado y los informa hasta que el estado sea Entregado. /// Luego de que Estado=Entregado se guarda el cambio de estado en la base. /// </summary> public void MockCicloDeVida() { while (this.Estado != Paquete.EEstado.Entregado) { System.Threading.Thread.Sleep(4000); this.Estado = this.Estado + 1; InformarEstado.Invoke(new object { }, EventArgs.Empty); } //Guardar los datos en la base }
/// <summary> /// Mientras que el estado del objeto no sea "entregado" va a iterar cada cuatro segundos cambiando el estado /// invocar el evento para informar y cuando finaliza lo guarda en la base de datos con el estado entregado. /// </summary> public void MockCicloDeVida() { while (this.estado != EEstado.Entregado) { Thread.Sleep(4000); this.estado++; InformarEstado.Invoke(this.estado, EventArgs.Empty); } PaqueteDAO.Insertar(this); }
/// <summary> /// Metodo que cada 4 segundos pasa al siguiente Estado del Paquete hasta /// que el Paquete este entregado. Al final, el Paquete se guarda en la tabla. /// </summary> public void MockCicloDeVida() { for (int i = 0; i < 4; i++) { if (this.estado == EEstado.Entregado) { break; } else { this.estado = (EEstado)i; InformarEstado.Invoke(this, null); Thread.Sleep(4000); } } PaqueteDAO.Insertar(this); }
/// <summary> /// Coloca una demora, realiza los cambios de estado y los informa hasta que el estado sea Entregado. /// Luego de que Estado=Entregado se guarda el cambio de estado en la base. /// </summary> public void MockCicloDeVida() { while (this.Estado != Paquete.EEstado.Entregado) { System.Threading.Thread.Sleep(4000); this.Estado = this.Estado + 1; InformarEstado.Invoke(new object { }, EventArgs.Empty); } //Guardar los datos en la base try { PaqueteDAO.Insertar(this); } catch (Exception ex) { throw ex; } }
/// <summary> /// Simula el ciclo de envio de un paquete, cambiando su estado, /// informando en que parte del envio se encuentra e insertando datos en la base /// </summary> public void MockCicloDeVida() { //Mientras el estado de un paquete no sea entregado se //hacen esperas y se avanza su estado de envio, se informa mediante un evento while (this.Estado != EEstado.Entregado) { Thread.Sleep(4000); this.Estado++; InformarEstado.Invoke(new object { }, EventArgs.Empty); } try //Se intenta guardar la informacion en la base de datos { PaqueteDAO.Insertar(this); } catch (Exception) //En caso de error mediante un evento se avisa que no pudo actualizarse la informacion { this.EventoErrorBD.Invoke("Error al intentar guardar datos del paquete en la base de datos"); } }
/// <summary> /// Metodo que cambia el estado del paquete cada 2 segudos y por ultimo lo inserta en la base de datos /// </summary> public void MockCicloDeVida() { while (estado != EEstado.Entregado) { System.Threading.Thread.Sleep(4000); if (estado == EEstado.Ingresado) { estado = EEstado.EnViaje; } else { estado = EEstado.Entregado; } InformarEstado.Invoke(new object { }, EventArgs.Empty); } try { PaqueteDAO.Insertar(this); } catch (Exception ex) { ErrorSql.Invoke(ex.Message); } }