private async Task CreateDbFromModel(RmsConfigModel model) { RmsConfig rms = new RmsConfig { Name = model.RmsDeviceInterface.name, Location = model.RmsDeviceInterface.location, IpAddress = model.RmsDeviceInterface.localIp, MacAddress = model.RmsDeviceInterface.macAddress }; foreach (RmsNode node in model.nodes) { foreach (RmsNodeDevice nodeDevice in node.devices) { DeviceType deviceType = ParseLightType(nodeDevice.type); if (deviceType == DeviceType.LightOnOff) { Light newLight = new Light { Location = node.location, Type = deviceType, MAC = nodeDevice.macAddress, CurrentStatus = nodeDevice.status }; newLight.Hooks.Add(new WebHook { ActivationCommand = RmsCommand.LightsOn, HookUrl = BuildHookUrl(nodeDevice, model.RmsDeviceInterface.localIp), Method = "POST", Body = BuildHookActiveBody(node, newLight) }); newLight.Hooks.Add(new WebHook { ActivationCommand = RmsCommand.LightsOff, HookUrl = BuildHookUrl(nodeDevice, model.RmsDeviceInterface.localIp), Method = "POST", Body = BuildHookInactiveBody(node, newLight) }); rms.Lights.Add(newLight); } if (deviceType == DeviceType.Hvac) { Hvac newHvac = new Hvac { Location = node.location, MAC = nodeDevice.macAddress }; double currentTemp; if (double.TryParse(nodeDevice.currentTemperature, out currentTemp)) { newHvac.CurrentTemperature = currentTemp; } double setpointTemp; if (double.TryParse(nodeDevice.setTemperature, out setpointTemp)) { newHvac.SetpointTemperature = setpointTemp; } newHvac.Hooks.Add(new WebHook { ActivationCommand = RmsCommand.HvacSetTemperature, HookUrl = BuildHookUrl(nodeDevice, model.RmsDeviceInterface.localIp), Method = "POST", Body = BuildHookSetTemperatureBody(node, newHvac) }); rms.Hvacs.Add(newHvac); } } } _context.RmsList.Add(rms); _context.SaveChanges(); }
public Form1() { InitializeComponent(); //TO DO :DB에 기본 설정 잡는중, 설정 프로그램 분리 시 옮겨야함 var db = new SimpleCmsDBClassDataContext(connectionString); if (!db.DatabaseExists()) { db.CreateDatabase(); } Console.WriteLine("database created."); Channel channelMic = new Channel(); channelMic.name = "Mic1"; channelMic.sample_rate = (int)(Math.Pow(2, 13)); db.Channel.InsertOnSubmit(channelMic); db.SubmitChanges(); Channel channel2 = new Channel() { name = "Bluetooth", sample_rate = (int)(Math.Pow(2, 13)) }; db.Channel.InsertOnSubmit(channel2); db.SubmitChanges(); RmsConfig rmsConfig1 = new RmsConfig(); rmsConfig1.name = "RMS1"; rmsConfig1.start = 100; rmsConfig1.end = 1000; db.TrendConfig.InsertOnSubmit(rmsConfig1); db.SubmitChanges(); RmsConfig rmsConfig2 = new RmsConfig() { name = "RMS2", start = 1000, end = 2000 }; db.TrendConfig.InsertOnSubmit(rmsConfig2); db.SubmitChanges(); RmsConfig rmsConfig3 = new RmsConfig() { name = "RMS3", start = 2000, end = 4000 }; db.TrendConfig.InsertOnSubmit(rmsConfig3); db.SubmitChanges(); PeakConfig peakConfig = new PeakConfig(); peakConfig.name = "Peak1"; peakConfig.option = "upper"; db.TrendConfig.InsertOnSubmit(peakConfig); db.SubmitChanges(); db.Dispose(); }