public XddUnit GetActiveUnit() { XddUnit result = null; if (Units.Count == 1) { result = Units[0]; } else { foreach (var unit in Units) { string uniqueIdRef = unit.GetConfigurationParameterIdRef(); var parameter = _parameterList.FindParameter(uniqueIdRef) as Parameter; if (unit.HasMatchingValue(parameter)) { result = unit; break; } else { MsgLogger.WriteError($"{GetType().Name} - GetActiveUnit", $"GetActiveUnit - Parameter '{uniqueIdRef}' not found!"); } } } return(result); }
public bool Parse(XmlNode node) { bool result = true; var typeAttribute = node.Attributes["type"]; var uniqueIdAttribute = node.Attributes["uniqueID"]; if (uniqueIdAttribute != null) { UniqueId = uniqueIdAttribute.InnerXml; } else { throw new Exception($"{GetType().Name} - missing uniqueID attribute"); } if (typeAttribute != null) { Type = typeAttribute.InnerXml; } else { throw new Exception($"{GetType().Name} - missing type attribute"); } foreach (XmlNode childNode in node.ChildNodes) { if (childNode.Name == "label") { var label = new XddLabel(childNode); if (!label.Parse()) { result = false; break; } Labels.Add(label); } else if (childNode.Name == "unit") { var unit = new XddUnit(); if (!unit.Parse(childNode)) { result = false; } Units.Add(unit); } if (!result) { break; } } return(result); }
public XddParameter(EltraDevice device, XmlNode source, XddDeviceManager deviceManager, XddDataTypeList dataTypeList, XddTemplateList templateList) : base(device, source) { _deviceManager = deviceManager; _templateList = templateList; _dataTypeList = dataTypeList; Unit = new XddUnit(); }
public XddUnit FindUnitReference(string uniqueIdRef) { XddUnit result = null; foreach (var units in Units) { var unit = units.FindPhysicalQuantityIdRef(uniqueIdRef); if (unit != null) { result = unit; break; } } return(result); }