public SQLiteRepository(MySensors.SerialController serialController) { InitializeDB(); ConnectToController(serialController); }
private void ConnectToController(MySensors.SerialController serialController) { this.serialController = serialController; List<Message> messages = GetMessages(); foreach (var message in messages) serialController.messagesLog.AddNewMessage(message); List<Node> nodes = GetNodes(); foreach (var node in nodes) serialController.AddNode(node); serialController.messagesLog.OnClearMessages += OnClearMessages; serialController.OnClearNodesListEvent += OnClearNodesListEvent; if (storeLogMessages) { serialController.messagesLog.OnNewMessageLogged += OnNewMessage; } if (writeInterval == 0) { serialController.OnNewNodeEvent += AddOrUpdateNode; serialController.OnNodeUpdatedEvent += AddOrUpdateNode; serialController.OnNewSensorEvent += AddOrUpdateSensor; serialController.OnSensorUpdatedEvent += AddOrUpdateSensor; } else { serialController.OnNewNodeEvent += OnNodeUpdated; serialController.OnNodeUpdatedEvent += OnNodeUpdated; serialController.OnNewSensorEvent += OnSensorUpdated; serialController.OnSensorUpdatedEvent += OnSensorUpdated; updateDbTimer = new DispatcherTimer(); updateDbTimer.Interval = TimeSpan.FromMilliseconds(writeInterval); updateDbTimer.Tick += UpdateDbTimer; updateDbTimer.Start(); } }