private void LoadSensors() { var datasource = new DemoDataSource(); sensors = datasource.GetSensors(); this.RaisePropertyChanged(() => this.SensorList); Messenger.Default.Send <NotificationMessage>(new NotificationMessage("Employees Loaded.")); }
static void Main(string[] args) { if (args.Contains("--debug")) { SerialBeaconManager.SpoolDebugOutputToConsole(); } Console.WriteLine("BlueCats Wallet Version {0}", _version); Console.WriteLine(); // Discover serial beacons Console.WriteLine("Discovering connected beacons..."); var availableBeacons = SerialBeaconManager.DiscoverSerialBeacons(); while (!availableBeacons.Any()) { Console.WriteLine("No beacons detected. Connect a beacon and press enter."); Console.ReadKey(); Console.WriteLine("Rescanning for connected serial beacons..."); availableBeacons = SerialBeaconManager.DiscoverSerialBeacons(); } // Select a beacon if (availableBeacons.Count == 1) { _selectedBeacon = availableBeacons.First(); } else { while (_selectedBeacon == null) { for (var i = 0; i < availableBeacons.Count; i++) { Console.WriteLine("{0}) {1}", i + 1, availableBeacons[i]); } Console.WriteLine(); try { var choice = Convert.ToInt32(GetUserInput("Select a beacon")) - 1; _selectedBeacon = availableBeacons.ElementAt(choice); } catch { Console.WriteLine("Invalid choice, enter a beacon number."); } } Console.WriteLine(); } // Attach to beacon and start listening try { _selectedBeacon.Attach(); _selectedBeacon.BleConnectedEvent += _selectedBeacon_BleConnectedEvent; _selectedBeacon.BleDisconnectedEvent += _selectedBeacon_BleDisconnectedEvent; _selectedBeacon.BleDataRequestEvent += _selectedBeacon_BleDataRequestEvent; _selectedBeacon.BleDataBlocksSentEvent += _selectedBeacon_BleDataBlocksSentEvent; _selectedBeacon.BleDataIndicatedEvent += _selectedBeacon_BleDataIndicatedEvent; try { _selectedBeacon.WriteEventsEnabled(true); } catch (Exception ex) { // enable events not supported in older beacon fw Debug.Print("* Error on command WriteEventsEnabled(true): {0}", ex.GetBaseException().Message, null); } Console.WriteLine("Attached to {0}", _selectedBeacon); } catch { if (_selectedBeacon.IsAttached) { _selectedBeacon.Detach(); } Console.WriteLine("Failed to attach {0}", _selectedBeacon); } Console.WriteLine(); // Display merchant info var merchantForMerchantId = Merchant.GenerateDemoMerchants(5); var merchants = merchantForMerchantId.Values.ToList(); var cards = Card.GenerateDemoCards(merchants); _demoDataSource = new DemoDataSource(merchantForMerchantId, cards); Console.WriteLine(_demoDataSource.ToString()); // Display command prompt Console.WriteLine("Enter 'commands' to see a list of commands."); Console.WriteLine(); var quit = false; while (!quit) { var line = GetUserInput(">"); if (line == null) { continue; } var parts = line.Split(' '); if (parts.Length > 0) { quit = RunWalletCommand(parts); } } // Cleanup _selectedBeacon.BleConnectedEvent -= _selectedBeacon_BleConnectedEvent; _selectedBeacon.BleDisconnectedEvent -= _selectedBeacon_BleDisconnectedEvent; _selectedBeacon.BleDataRequestEvent -= _selectedBeacon_BleDataRequestEvent; _selectedBeacon.BleDataBlocksSentEvent -= _selectedBeacon_BleDataBlocksSentEvent; _selectedBeacon.BleDataIndicatedEvent -= _selectedBeacon_BleDataIndicatedEvent; if (_selectedBeacon.IsAttached) { _selectedBeacon.Detach(); } }