Exemple #1
0
        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();
        }
Exemple #2
0
        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();
        }