Exemplo n.º 1
0
        /// <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;
                    }
                }
            }
        }
Exemplo n.º 2
0
        /// <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();
        }