/// <summary> /// Repito el ciclo y lo corto -> Estado=entregado /// </summary> public void MockClicloDeVida() { while (true) { InformaEstado.Invoke(this, EventArgs.Empty); Thread.Sleep(10000); if (this.Estado == EEstado.Entregado) { break; } this.Estado++; } try { PaqueteDAO.Insertar(this); } catch (Exception e) { throw e; } }
public void MockCicloDeVida() { while (this.Estado != EEstado.Entregado) { Thread.Sleep(1000); if (this.Estado == EEstado.Ingresado) { this.Estado = EEstado.EnViaje; } else if (this.Estado == EEstado.EnViaje) { this.Estado = EEstado.Entregado; } InformaEstado.Invoke(this, new EventArgs()); } try { PaqueteDAO.Insertar(this); } catch (Exception) { } }
/// <summary> /// Metodo que se ejecutara al iniciar el hilo /// correspondiente a cada paquete. Simulara el ciclo /// de vida del paquete actualizando su estado cada 4 segundos /// y finalmente guardando sus datos en la base de datos una vez /// entregado /// </summary> public void MockCicloDeVida() { try { // Mientras el estado no sea Entregado continuo // actualizando el estado cada 4 segundo e invocando // InformaEstado while (this.Estado != EEstado.Entregado) { Thread.Sleep(4000); this.Estado = (EEstado)(((int)this.Estado) + 1); InformaEstado.Invoke(this, EventArgs.Empty); } // Una vez que el paquete fue entregado se guarda en la base de datos PaqueteDAO.Insertar(this); } catch (ThreadAbortException ex) { string excepcion = $"{ex.Message} // {ex.StackTrace}"; excepcion.Guardar("Log de Excepciones"); } // Si ocurrio un error guardando el paquete en la base de datos invoco // un evento que avisa de este error catch (Exception ex) { InformaErrorDAO.Invoke(); } }
/// <summary> /// metodo que cambia el estado del paquete e invoca a informar estado /// </summary> public void MockCicloDeVida() { while (this.Estado != EEstado.Entregado) { System.Threading.Thread.Sleep(500); if (this.Estado == EEstado.Ingresando) { this.Estado = EEstado.EnViaje; } else { this.Estado = EEstado.Entregado; } InformaEstado.Invoke(new object { }, EventArgs.Empty); } try { PaqueteDAO.Insertar(this); } catch (Exception e) { SQLError.Invoke(e.Message); } }
/// <summary> /// Metodo que emula el ciclo de vida de un paquete, /// cambiando this.Estado estado secuencialmente segun indica el enumerado EEstado, /// cada 10 segundos. Invocando al evento InformaEstado en cada paso, y guardando /// el paquete en la base de datos al llegar al último elemento del enumerado, /// utilizando la clase PaqueteDAO /// </summary> public void MockCicloDeVida() { do { InformaEstado.Invoke(this, null); System.Threading.Thread.Sleep(10000); //Recorre los distintos tipos de estado hasta el ultimo this.Estado++; } while (this.Estado != EEstado.Entregado); //Inserta en base de datos try { PaqueteDAO.Insertar(this); } //Si hay excepcion, invoca el evento ErrorBaseDeDatos con un diccionario <paquete, excepcion> catch (Exception dbException) { Dictionary <Paquete, Exception> exceptionPaquete = new Dictionary <Paquete, Exception>() { { this, dbException } }; ErrorBaseDeDatos.Invoke(exceptionPaquete, null); } InformaEstado.Invoke(this, null); }
public void MockCicloDeVida() { while (this.Estado != EEstado.Entregado) { Thread.Sleep(4000); this.Estado = this.Estado + 1; InformaEstado.Invoke(this, null); } PaqueteDAO.Insertar(this); }
public void MockCicloDeVida() { do { Thread.Sleep(4000); this.Estado++; InformaEstado.Invoke(this, null); } while (this.Estado < (EEstado)2); PaqueteDAO.Insertar(this); }
/// <summary> /// /// ingreso el paquete en la base de datos /// </summary> public void MockCicloDeVida() { try { while (this.estado != EEstado.Entregado) { Thread.Sleep(10000); estado++; InformaEstado.Invoke(this, new EventArgs()); } PaqueteDAO.Insertar(this); } catch (Exception) { } }
public void MockCicloDeVida() { while (this.Estado != EEstado.Entregado) { System.Threading.Thread.Sleep(10000); this.Estado++; InformaEstado.Invoke(this, EventArgs.Empty); } try { PaqueteDAO.Insertar(this); } catch (TrackingIdRepetidoException tire) { InformaNoGuardo.Invoke(tire.Message); } }
/// <summary> /// Simulador del ciclo de vida de un paquete, cada 4 segundos se lanza un evento /// luego de un cambio de estado automatico. el evento informa del cambio de estado y /// reimprime la informacion en la pantalla. /// finalmente insertará el paquete a la base de datos. /// </summary> public void MockCicloDeVida() { Thread.Sleep(4000); this.estado = EEstado.EnViaje; InformaEstado.Invoke(this, new EventArgs()); Thread.Sleep(4000); this.estado = EEstado.Entregado; InformaEstado.Invoke(this, new EventArgs()); try { PaqueteDAO.Insertar(this); } catch (SqlReadOrWriteException ex) { InformaExceptcion.Invoke(ex); } }
/// <summary> /// Actualiza cada 4 segundos el estado del producto /// Pasando por enstock -> vendido /// </summary> public void CicloDeVida() { while (this.estado != Producto.EEstado.Vendido) { System.Threading.Thread.Sleep(4000); switch (this.estado) { case EEstado.EnStock: this.estado = EEstado.Vendido; break; } InformaEstado.Invoke(this, new EventArgs()); } ProductoDAO.Insertar(this); }
/// <summary> /// Encargado de cambio de estado de los paquetes /// </summary> public void MockCicloDeVida() { do { InformaEstado.Invoke(this, null); Thread.Sleep(4000); this.Estado++; }while (this.Estado != EEstado.Entregado); try { PaqueteDAO.Insertar(this); } catch (Exception) { this.BaseSql.Invoke(this, null); } InformaEstado.Invoke(this, null); }
/// <summary> /// Actualiza el estado de los nuevos pedidos cada 4 segundos. /// Mientras no esté Listado, seteo estado cada 4 segundos. /// </summary> public void EtapasPedido() { while (this.estado != EEstado.Listo) { Thread.Sleep(4000); switch (this.estado) { case EEstado.Ingresado: this.estado = EEstado.EnPreparacion; break; case EEstado.EnPreparacion: this.estado = EEstado.Listo; break; } InformaEstado.Invoke(this); } }
/// <summary> /// Actualiza cada 4 segundos el estado del paquete /// Pasando por Ingresado -> EnViaje -> Entregado /// </summary> public void MockCicloDeVida() { while (this.estado != Paquete.EEstado.Entregado) { System.Threading.Thread.Sleep(4000); switch (this.estado) { case EEstado.Ingresado: this.estado = EEstado.EnViaje; break; case EEstado.EnViaje: this.estado = EEstado.Entregado; break; } InformaEstado.Invoke(this, new EventArgs()); } PaqueteDAO.Insertar(this); }