/// <summary> /// Deserializes an XML file with Valve Printhead Type properties then stores those properties into the input Valve PrintheadType. /// </summary> /// <param name="xmlReader"></param> /// <param name="printheadTypeViewModel"></param> public override void DeserializePrintheadType(XmlReader xmlReader, PrintheadTypeViewModel printheadTypeViewModel) { ValvePrintheadTypeViewModel valvePrintheadTypeViewModel = (ValvePrintheadTypeViewModel)printheadTypeViewModel; while (xmlReader.Read()) { //Skip through newlines (this program's XML Writer uses newlines). if ((xmlReader.Name != "\n") && (!String.IsNullOrWhiteSpace(xmlReader.Name))) { //End method if the end of "ValvePrintheadType" element is reached. if ((xmlReader.Name == "ValvePrintheadType") && (xmlReader.NodeType == XmlNodeType.EndElement)) { return; } switch (xmlReader.Name) { case "ValvePin": valvePrintheadTypeViewModel.AttachedValveGPIOPinViewModel = base._microcontrollerViewModel.FindPin(xmlReader.ReadElementContentAsInt()); valvePrintheadTypeViewModel.ExecuteRefreshPinBySettingListCommand("ValveGPIOPinViewModelList"); break; break; default: base.ReportErrorUnrecognizedElement(xmlReader); break; } } } }
/// <summary> /// Writes Valve Printhead Type properties into XML. /// </summary> /// <param name="printheadTypeViewModel"></param> /// <returns></returns> public override void SerializePrintheadType(XmlWriter xmlWriter, PrintheadTypeViewModel printheadTypeViewModel) { if (printheadTypeViewModel != null) { ValvePrintheadTypeViewModel valvePrintheadTypeViewModel = (ValvePrintheadTypeViewModel)printheadTypeViewModel; //Outmost element should be "ValvePrintheadType". xmlWriter.WriteStartElement("ValvePrintheadType"); //Valve Pin. if (valvePrintheadTypeViewModel.AttachedValveGPIOPinViewModel != null) { xmlWriter.WriteElementString("ValvePin", valvePrintheadTypeViewModel.AttachedValveGPIOPinViewModel.PinID.ToString()); } //Close outmost element "ValvePrintheadType". xmlWriter.WriteEndElement(); } }