static void Main(string[] args) { var count = 0; var configM = new ConfigM { ApiUrl = ConfigurationManager.AppSettings["ConfigM"] }; var profileManifest = configM.GetByName("ProfileM"); var refManifest = configM.GetByName("RefM"); var profileM = new ProfileM { ApiUrl = profileManifest.lineitems[LineitemsKey.PublicAPI] }; var participants = profileM.GetAllByType(UserType.Participant); var refM = new RefM { ApiUrl = refManifest.lineitems[LineitemsKey.PublicAPI] }; var products = refM.GetAllByDomain("Products"); var models = refM.GetAllByDomain("Models"); // create a device registration for each particpant foreach (var p in participants) { var r = new Registration(); foreach (var m in models) { if (m.code == "BIOMAX-HOME") { r.key = string.Empty; r.productline = products[0].code; r.model = m.code; r.version = m.attributes["version"]; r.firmwareversion = m.attributes["firmware"]; } } r.participantid = p.id; var json = ModelManager.ModelToJson <Registration>(r); var filename = AppDomain.CurrentDomain.BaseDirectory + @"data\deviceregistration" + count + ".json"; System.IO.File.WriteAllText(filename, json); Console.WriteLine("Device Registration " + count + " generated"); count++; } }
static void Main(string[] args) { Console.WriteLine("************************************************************"); Console.WriteLine("* B I O M A X S E N S O R E V E N T G E N E R A T O R *"); Console.WriteLine("* *"); Console.WriteLine("* I O T H U B E D I T I O N *"); Console.WriteLine("************************************************************"); Console.WriteLine(); Console.WriteLine("Press Enter to start the generator."); Console.WriteLine("Press Ctrl-C to stop the generator."); Console.WriteLine(); Console.ReadLine(); Console.Write("Working...."); // initialize the ConfigM microservice client sdk _configM = new ConfigM { ApiUrl = ConfigurationManager.AppSettings["ConfigM"] }; // lookup the manifests for the devie registry and user profile microservices var deviceManifest = _configM.GetByName("DeviceM"); var profileManifest = _configM.GetByName("ProfileM"); // initialize the DeviceM microservice client sdk _registryM = new DeviceM { ApiUrl = deviceManifest.lineitems[LineitemsKey.AdminAPI] }; // initialize the ProfileM microservice client sdk _profilesM = new ProfileM { ApiUrl = profileManifest.lineitems[LineitemsKey.PublicAPI] }; // get the device registry from the device microservice _devices = _registryM.GetAll(); // get all the participants in the study _profiles = _profilesM.GetAllByType("Participant"); // send simluated messages from the device collection SendDeviceToCloudMessagesAsync(); Console.ReadLine(); }
static void Main(string[] args) { Console.WriteLine("************************************************************"); Console.WriteLine("* B I O M A X S E N S O R E V E N T G E N E R A T O R *"); Console.WriteLine("************************************************************"); Console.WriteLine(); Console.WriteLine("Press Enter to start the generator."); Console.WriteLine("Press Ctrl-C to stop the generator."); Console.WriteLine(); Console.ReadLine(); Console.Write("Working...."); _configM = new ConfigM(); _registryM = new DeviceM(); _profilesM = new ProfileM(); // the endpoiont for ConfigM is defined in the app config _configM.ApiUrl = ConfigurationManager.AppSettings["ConfigM"]; var deviceManifest = _configM.GetByName("DeviceM"); var profileManifest = _configM.GetByName("ProfileM"); _registryM.ApiUrl = deviceManifest.lineitems[LineitemsKey.AdminAPI]; _profilesM.ApiUrl = profileManifest.lineitems[LineitemsKey.PublicAPI]; // get the device registry from the device microservice _devices = _registryM.GetAll(); // get all the participants in the study _profiles = _profilesM.GetAllByType("Participant"); var random = new Random(); var spin = new ConsoleSpiner(); // connect to Event Hub var servicebus = ConfigurationManager.AppSettings["Microsoft.ServiceBus.ConnectionString"]; var eventhub = ConfigurationManager.AppSettings["EventHub"]; var eventHubClient = EventHubClient.CreateFromConnectionString(servicebus, eventhub); while (true) { spin.Turn(); try { var deviceReading = new DeviceMessage(); var index = random.Next(0, _devices.list.Count - 1); // randomly select a device from the registry var device = _devices.list[index]; // lookup the participant var participant = _profiles.Find(p => p.id == device.participantid); // beging to create the simulated device message deviceReading.deviceid = device.id; deviceReading.participantid = participant.id; deviceReading.location.latitude = participant.location.latitude; deviceReading.location.longitude = participant.location.longitude; // generate simulated sensor reaings var glucose = new SensorReading { type = SensorType.Glucose, value = random.Next(70, 210) }; var heartrate = new SensorReading { type = SensorType.Heartrate, value = random.Next(60, 180) }; var temperature = new SensorReading { type = SensorType.Temperature, value = random.Next(98, 105) + (.1 * random.Next(0, 9)) }; var bloodoxygen = new SensorReading { type = SensorType.Bloodoxygen, value = random.Next(80, 100) }; deviceReading.sensors.Add(glucose); deviceReading.sensors.Add(heartrate); deviceReading.sensors.Add(temperature); deviceReading.sensors.Add(bloodoxygen); deviceReading.reading = DateTime.Now; // serialize the message to JSON var json = ModelManager.ModelToJson <DeviceMessage>(deviceReading); // use these lines to gen JSON files for SA test input //var filename = AppDomain.CurrentDomain.BaseDirectory + @"\data\device-" + DateTime.Now.Ticks + ".json"; //System.IO.File.WriteAllText(filename, json); // send the message to EventHub eventHubClient.SendAsync(new EventData(Encoding.UTF8.GetBytes(json))); } catch (Exception exception) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("{0} > Exception: {1}", DateTime.Now, exception.Message); Console.ResetColor(); } Thread.Sleep(200); } }
public List <UserProfile> GetByType(string type) { return(_profileM.GetAllByType(type)); }