private void Worker_ChangedState(object sender, ChangedStateEventArgs e) { SerialPortWorkerState workerState = e.WorkerState; Helper.NLogger.Debug($"Sender: {sender}, has sent state {workerState}"); SerialPortWorker worker = sender as SerialPortWorker; if (worker != null) { SPClass workerClass = worker.SP_CLASS_TYPE; switch (workerState) { case SerialPortWorkerState.STARTED: break; case SerialPortWorkerState.PAUSED: break; case SerialPortWorkerState.STOPPED: RemoveWorkerFromCollection(workerClass); break; default: break; } } }
private void StartAllWorkers() { if (serialPortWorkers.Count < 1) { CreateAllPossibleWorkersSet(); } for (int i = 0; i < serialPortWorkers.Count; i++) { SerialPortWorker worker = serialPortWorkers.ElementAt(i).Value; worker.StartThisInMonitoring(); worker.ChangedState += Worker_ChangedState; } }