Beispiel #1
0
        private List <Module> ParseModulesFromHeaders()
        {
            var ret = new List <Module>();

            foreach (var _h in _headers.Keys)
            {
                if (_h.Contains("module_name"))
                {
                    Module curModule = new Module("empty", "Empty");
                    var    index     = _h.Substring("module_name".Length);
                    string strType   = _headers["module_type" + index];
                    if (strType.Contains("bool_trigger"))
                    {
                        curModule = new Trigger(_headers[_h], "Empty");
                        (curModule as Trigger).State = Utility.WrapStates(_headers["module_state" + index]);
                    }
                    if (strType.Contains("variadic_trigger"))
                    {
                        curModule = new VariadicTrigger(_headers[_h], "Empty");
                        (curModule as VariadicTrigger).State = Int32.Parse(_headers["module_value" + index]);
                    }
                    if (strType.Contains("sensor"))
                    {
                        curModule = new Sensor(_headers[_h], "Empty");
                        (curModule as Sensor).State = Int32.Parse(_headers["module_value" + index]);
                    }
                    ret.Add(curModule);
                }
            }
            return(ret);
        }
Beispiel #2
0
        static public List <Module> GetModulesByDevice(string deviceName)
        {
            var ret = new List <Module>();

            using (var context = new ModuleContext())
            {
                var _modules = context.Modules.Where(b => b.DeviceName == deviceName).ToList <ModuleEntity>();
                foreach (var _moduleEntity in _modules)
                {
                    if (_moduleEntity.ModuleType == "bool_trigger")
                    {
                        var bufModule = new Trigger(_moduleEntity.ModuleName, _moduleEntity.ExternalName);
                        bufModule.State = (_moduleEntity.ModuleState != 0);
                        ret.Add(bufModule);
                    }
                    if (_moduleEntity.ModuleType == "variadic_trigger")
                    {
                        var bufModule = new VariadicTrigger(_moduleEntity.ModuleName, _moduleEntity.ExternalName);
                        bufModule.State = (int)_moduleEntity.ModuleState;
                        ret.Add(bufModule);
                    }
                    if (_moduleEntity.ModuleType == "sensor")
                    {
                        var bufModule = new Sensor(_moduleEntity.ModuleName, _moduleEntity.ExternalName);
                        bufModule.State = (int)_moduleEntity.ModuleState;
                        ret.Add(bufModule);
                    }
                }
            }
            return(ret);
        }