/// <summary> /// Recorre el rango de pedidos y realiza el procesamiento. /// </summary> private void Process() { System.Diagnostics.Trace.WriteLine(string.Format("SVDN PedidosManager: Process()")); OnStart(); inProcess = true; finishProcess = false; //se reinicia la bandera de finalizacion del proceso. int i = 0; while (i < 100) { //Agregar logica de asignacion de inventarios de los pedidos. //añadir a la lista de pedidos procesada System.Diagnostics.Trace.WriteLine(string.Format("PROCESO i: {0}", i)); PedidosReviewer module = new PedidosReviewer(); module.OnProcessEvent += new OnProcessEventHandler(module_OnProcessEvent); module.NumeroProcesoEjecutado = i; module.Start(); i++; if (i == 99) { finishProcess = true; } } // finishProcess = true; // System.Diagnostics.Trace.WriteLine(string.Format("ANM BUSINESS DISCOVERYMANAGER: TOTAL DISPOSITIVOS A DESCUBRIR {0}", this.totalDevices)); }
/// <summary> /// Procesamiento de pedidos. /// </summary> /// <param name="source">Objeto que contiene el procesamiento de un pedido.</param> /// <param name="item">Contiene las propiedades de un pedido.</param> private void module_OnProcessEvent(PedidosReviewer source, PedidosProcessInfo item) { lock (this) { OnDiscovery(item); System.Diagnostics.Trace.WriteLine(string.Format("SVDN PedidosManager: module_OnProcessEvent")); if (finishProcess) { //Evita que envie muchos eventos OnEnd varias veces si discovery manager esta deshabilitado if (inProcess) { OnEnd(); } inProcess = false; } } }
/// <summary> /// Detiene el procesamiento de un pedido. /// </summary> /// <param name="s">Objeto que contiene el procesamiento de un pedido.</param> private static void StopDevice(PedidosReviewer s) { s.Stop(); }