Пример #1
0
        public virtual object DeserializeItem(XmlNode serializedItem, object parentItem)
        {
            if (serializedItem.LocalName != TAG_NAME)
            {
                return(null);
            }
            int?routerId    = null;
            int?outputIndex = null;
            int?inputIndex  = null;

            if (int.TryParse(serializedItem.Attributes[ATTRIBUTE_ROUTER]?.Value, out int _routerId))
            {
                routerId = _routerId;
            }
            if (int.TryParse(serializedItem.Attributes[ATTRIBUTE_OUTPUT]?.Value, out int _outputIndex))
            {
                outputIndex = _outputIndex;
            }
            if (int.TryParse(serializedItem.Attributes[ATTRIBUTE_INPUT]?.Value, out int _inputIndex))
            {
                inputIndex = _inputIndex;
            }
            SalvoCrosspoint crosspoint = new SalvoCrosspoint()
            {
                __routerId    = routerId,
                __outputIndex = outputIndex,
                __inputIndex  = inputIndex
            };

            return(crosspoint);
        }
Пример #2
0
        public virtual XElement SerializeItem(object item, object parentItem)
        {
            SalvoCrosspoint crosspoint = item as SalvoCrosspoint;

            if (crosspoint == null)
            {
                return(null);
            }
            XElement xmlElement = new XElement(TAG_NAME);

            xmlElement.SetAttributeValue(ATTRIBUTE_ROUTER, crosspoint.Router?.ID.ToString() ?? "");
            xmlElement.SetAttributeValue(ATTRIBUTE_OUTPUT, crosspoint.Output?.Index.ToString() ?? "");
            xmlElement.SetAttributeValue(ATTRIBUTE_INPUT, crosspoint.Input?.Index.ToString() ?? "");
            return(xmlElement);
        }
Пример #3
0
 public void RemoveCrosspoint(SalvoCrosspoint crosspoint) => crosspoints.Remove(crosspoint);