public CtrlBusinessLogic(iDataAccessLogic mydal, ConcurrentQueue <Datacontainer> RawDataQueue) { _currentDal = mydal; asynchQueue = RawDataQueue; _convertClass = new ConvertClass(mydal); _dateReadyEventRawToFine = new AutoResetEvent(false); _dataReadyEventSystolic = new AutoResetEvent(false); _dataReadyEventMean = new AutoResetEvent(false); _dataReadyEventPulse = new AutoResetEvent(false); _consumer = new Consumer(asynchQueue, _convertClass); _rawtofine = new RawToFine(_dateReadyEventRawToFine, _consumer); _currentDal.setAsyncQueue(asynchQueue); _alarmWithOutParameter = new Alarm(); _calculateBloodPreassure = new CalculateBloodPreassure(_dataReadyEventSystolic, _consumer, this, _alarmWithOutParameter); _saveMeasurement = new SaveMeasurement(); _calibration = new Calibration(_convertClass.GetZeroPointValue()); _calculateMean = new CalcMeanBloodPreassure(_dataReadyEventMean, _consumer); _calculatePulse = new CalculatePulse(_dataReadyEventPulse, _consumer); _saveData = new SaveData(); }