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); }
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); }