public static ISOWorkerAllocation ReadXML(XmlNode node)
        {
            ISOWorkerAllocation item = new ISOWorkerAllocation();

            item.WorkerIdRef     = node.GetXmlNodeValue("@A");
            item.AllocationStamp = ISOAllocationStamp.ReadXML(node.SelectSingleNode("ASP"));
            return(item);
        }
        public static ISODeviceAllocation ReadXML(XmlNode node)
        {
            ISODeviceAllocation item = new ISODeviceAllocation();

            item.ClientNAMEValue = node.GetXmlNodeValue("@A");
            item.ClientNAMEMask  = node.GetXmlNodeValue("@B");
            item.DeviceIdRef     = node.GetXmlNodeValue("@C");
            item.AllocationStamp = ISOAllocationStamp.ReadXML(node.SelectSingleNode("ASP"));
            return(item);
        }
        public static List <ISOAllocationStamp> ReadXML(XmlNodeList nodes)
        {
            List <ISOAllocationStamp> items = new List <ISOAllocationStamp>();

            foreach (XmlNode node in nodes)
            {
                items.Add(ISOAllocationStamp.ReadXML(node));
            }
            return(items);
        }
        public static ISOCommentAllocation ReadXML(XmlNode node)
        {
            ISOCommentAllocation item = new ISOCommentAllocation();

            item.CodedCommentIdRef          = node.GetXmlNodeValue("@A");
            item.CodedCommentListValueIdRef = node.GetXmlNodeValue("@B");
            item.FreeCommentText            = node.GetXmlNodeValue("@C");
            item.AllocationStamp            = ISOAllocationStamp.ReadXML(node.SelectSingleNode("ASP"));
            return(item);
        }
        public static ISOGuidanceShift ReadXML(XmlNode node)
        {
            ISOGuidanceShift item = new ISOGuidanceShift();

            item.GuidanceGroupIdRef   = node.GetXmlNodeValue("@A");
            item.GuidancePatternIdRef = node.GetXmlNodeValue("@B");
            item.GuidanceEastShift    = node.GetXmlNodeValueAsNullableInt("@C");
            item.GuidanceNorthShift   = node.GetXmlNodeValueAsNullableInt("@D");
            item.PropagationOffset    = node.GetXmlNodeValueAsNullableInt("@E");
            item.AllocationStamp      = ISOAllocationStamp.ReadXML(node.SelectSingleNode("ASP"));
            return(item);
        }
        public static ISOProductAllocation ReadXML(XmlNode node)
        {
            ISOProductAllocation item = new ISOProductAllocation();

            item.ProductIdRef           = node.GetXmlNodeValue("@A");
            item.QuantityDDI            = node.GetXmlNodeValue("@B");
            item.QuantityValue          = node.GetXmlNodeValueAsNullableInt("@C");
            item.TransferModeInt        = node.GetXmlNodeValueAsNullableInt("@D");
            item.DeviceElementIdRef     = node.GetXmlNodeValue("@E");
            item.ValuePresentationIdRef = node.GetXmlNodeValue("@F");
            item.AllocationStamp        = ISOAllocationStamp.ReadXML(node.SelectSingleNode("ASP"));
            return(item);
        }
        public static ISOGuidanceAllocation ReadXML(XmlNode node)
        {
            ISOGuidanceAllocation item = new ISOGuidanceAllocation();

            item.GuidanceGroupIdRef = node.GetXmlNodeValue("@A");
            item.AllocationStamp    = ISOAllocationStamp.ReadXML(node.SelectSingleNode("ASP"));

            XmlNodeList gstNodes = node.SelectNodes("GST");

            if (gstNodes != null)
            {
                item.GuidanceShifts.AddRange(ISOGuidanceShift.ReadXML(gstNodes));
            }

            return(item);
        }
        public static ISOAllocationStamp ReadXML(XmlNode node)
        {
            if (node == null)
            {
                return(null);
            }

            ISOAllocationStamp item = new ISOAllocationStamp();

            item.Start    = node.GetXmlNodeValueAsNullableDateTime("@A");
            item.Stop     = node.GetXmlNodeValueAsNullableDateTime("@B");
            item.Duration = node.GetXmlNodeValueAsNullableUInt("@C");
            item.TypeInt  = node.GetXmlNodeValueAsInt("@D");

            XmlNodeList ptnNodes = node.SelectNodes("PTN");

            if (ptnNodes != null)
            {
                item.Positions.AddRange(ISOPosition.ReadXML(ptnNodes));
            }

            return(item);
        }