private static void SwitchDeviceType(string devType, BaseDevice curDevice) { LogUtil.Write("Switching type to " + devType); switch (devType) { case "SideKick": { var newDevice = new SideKick(curDevice); DataUtil.SetItem("MyDevice", newDevice); DataUtil.InsertDsDevice(newDevice); break; } case "DreamScreen4K": { var newDevice = new DreamScreen4K(curDevice); DataUtil.SetItem("MyDevice", newDevice); DataUtil.InsertDsDevice(newDevice); break; } case "Connect": { var newDevice = new Connect(curDevice); DataUtil.SetItem("MyDevice", newDevice); DataUtil.InsertDsDevice(newDevice); break; } } }
public static void DbDefaults(LifxClient lc) { var db = GetDb(); // Check to see if we have our system data object var defaultSet = GetItem("DefaultSet"); if (defaultSet == null || defaultSet == false) { LogUtil.Write("Starting to create defaults."); // If not, create it var sd = new SystemData(true); foreach (var v in sd.GetType().GetProperties()) { LogUtil.Write("Setting: " + v.Name); SetItem(v.Name, v.GetValue(sd)); } var dsIp = GetItem("DsIp"); var ledData = new LedData(true); var myDevice = new DreamScreen4K(dsIp); myDevice.SetDefaults(); myDevice.Id = dsIp; SetObject("LedData", ledData); SetObject("MyDevice", myDevice); LogUtil.Write("Loading first..."); // Get/create our collection of Dream devices var d = db.GetCollection <BaseDevice>("devices"); // Create our default device // Save it d.Upsert(myDevice.Id, myDevice); d.EnsureIndex(x => x.Id); db.Commit(); // Scan for devices ScanDevices(lc).ConfigureAwait(false); } else { LogUtil.Write("Defaults are already set."); } }