private void LoadDevices()
{
var settings = ApplicationData.Current.LocalSettings;
if (!settings.Containers.ContainsKey("Devices"))
{
// Create a set of initial bulbs
var bulb = new MockLightingServiceHandler($"Mock Advanced Bulb", Guid.NewGuid().ToString(), true, true, true, this.Dispatcher);
AllJoynDsbServiceManager.Current.AddDevice(new MockBulbDevice(bulb));
bulb = new MockLightingServiceHandler($"Mock Simple Bulb", Guid.NewGuid().ToString(), true, false, false, this.Dispatcher);
AllJoynDsbServiceManager.Current.AddDevice(new MockBulbDevice(bulb));
AllJoynDsbServiceManager.Current.AddDevice(new MockCurrentHumidityDevice("Mock Humidity Sensor", Guid.NewGuid().ToString(), 50));
AllJoynDsbServiceManager.Current.AddDevice(new MockCurrentTemperatureDevice("Mock Temperature Sensor", Guid.NewGuid().ToString(), 25));
AllJoynDsbServiceManager.Current.AddDevice(new MockOnOffSwitchDevice("Mock Switch", Guid.NewGuid().ToString(), false, Dispatcher));
}
else
{
var container = settings.Containers["Devices"];
foreach(var item in container.Values)
{
var data = ((string)item.Value).Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);
var type = data[0].Trim();
if (type == "Lamp")
{
var bulb = MockLightingServiceHandler.FromJson(data[1], Dispatcher);
AllJoynDsbServiceManager.Current.AddDevice(new MockBulbDevice(bulb));
}
else if(type == "CurrentTemperature")
{
var d = new MockCurrentTemperatureDevice(
data[2], data[1], double.Parse(data[3], CultureInfo.InvariantCulture));
AllJoynDsbServiceManager.Current.AddDevice(d);
}
else if (type == "CurrentHumidity")
{
var d = new MockCurrentHumidityDevice(
data[2], data[1], double.Parse(data[3], CultureInfo.InvariantCulture));
AllJoynDsbServiceManager.Current.AddDevice(d);
}
else if (type == "OnOffSwitch")
{
var d = new MockOnOffSwitchDevice(data[2], data[1], data[3] == "true", Dispatcher);
AllJoynDsbServiceManager.Current.AddDevice(d);
}
}
}
this.DataContext = AllJoynDsbServiceManager.Current;
}