/// <summary> /// Reads ContinuousPrintStyleViewModel properties from XML and creates a ContinuousPrintStyleViewModel with said properties. /// </summary> /// <param name="xml"></param> /// <returns></returns> public override void DeserializePrintStyle(XmlReader xmlReader, PrintStyleViewModel printStyleViewModel) { ContinuousPrintStyleViewModel continuousPrintStyleViewModel = (ContinuousPrintStyleViewModel)printStyleViewModel; //Read through each element of the XML string and populate each property of the Continuous Print Style. 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 "ContinuousPrintStyle" element is reached. if ((xmlReader.Name == "ContinuousPrintStyle") && (xmlReader.NodeType == XmlNodeType.EndElement)) { return; } switch (xmlReader.Name) { case "MotorizedDispensePerMmMovement": continuousPrintStyleViewModel.MotorizedDispensePerMmMovement = xmlReader.ReadElementContentAsDouble(); break; case "MotorizedDispenseRetractionDistance": continuousPrintStyleViewModel.MotorizedDispenseRetractionDistance = xmlReader.ReadElementContentAsDouble(); break; default: base.ReportErrorUnrecognizedElement(xmlReader); break; } } } }
/// <summary> /// Writes Continuous Print Style properties into XML. /// </summary> /// <param name="printStyleViewModel"></param> /// <returns></returns> /// <remarks> /// Outmost element should be "ContinuousPrintStyle". /// Outmost element start and close should be handled by this function's caller. /// </remarks> public override void SerializePrintStyle(XmlWriter xmlWriter, PrintStyleViewModel printStyleViewModel) { ContinuousPrintStyleViewModel continuousPrintStyleViewModel = (ContinuousPrintStyleViewModel)printStyleViewModel; //Only element should be "ContinousPrintStyle". xmlWriter.WriteStartElement("ContinuousPrintStyle", " "); //Motorized Dispense Per Mm Movement. xmlWriter.WriteElementString("MotorizedDispensePerMmMovement", continuousPrintStyleViewModel.MotorizedDispensePerMmMovement.ToString()); //Motorized Retraction Distance. xmlWriter.WriteElementString("MotorizedDispenseRetractionDistance", continuousPrintStyleViewModel.MotorizedDispenseRetractionDistance.ToString()); //Close outmost element "ContinousPrintStyle". xmlWriter.WriteEndElement(); }