internal static void ParseIlmd(XElement element, EpcisEvent epcisEvent)
 {
     foreach (var children in element.Elements())
     {
         epcisEvent.CustomFields.Add(XmlCustomFieldParser.ParseCustomField(children, FieldType.Ilmd));
     }
 }
Exemple #2
0
        public static void ParseBusinessLocation(this XElement element, EpcisEvent Event)
        {
            foreach (var innerElement in element.Elements().Where(x => !new[] { "id", "corrective" }.Contains(x.Name.LocalName)))
            {
                Event.CustomFields.Add(XmlCustomFieldParser.ParseCustomField(innerElement, FieldType.BusinessLocationExtension));
            }

            Event.BusinessLocation = element.Element("id").Value;
        }
Exemple #3
0
        public static void ParseReadPoint(this XElement element, EpcisEvent Event)
        {
            Event.ReadPoint = element.Element("id").Value;

            foreach (var innerElement in element.Elements().Where(x => x.Name.Namespace != XNamespace.None))
            {
                Event.CustomFields.Add(XmlCustomFieldParser.ParseCustomField(innerElement, FieldType.ReadPointExtension));
            }
        }
 private EpcisRequestHeader ParseHeader(XElement root)
 {
     return(new EpcisRequestHeader
     {
         StandardBusinessHeader = XmlHeaderParser.Parse(root.XPathSelectElement("EPCISHeader/sbdh:StandardBusinessDocumentHeader", EpcisNamespaces.Manager)),
         DocumentTime = DateTime.Parse(root.Attribute("creationDate").Value, CultureInfo.InvariantCulture),
         SchemaVersion = root.Attribute("schemaVersion").Value,
         CustomFields = XmlCustomFieldParser.ParseCustomFields(root.XPathSelectElement("EPCISHeader"), FieldType.HeaderExtension)
     });
 }
 internal static void ParseExtensionElement(XElement innerElement, EpcisEvent epcisEvent)
 {
     if (innerElement.Name.Namespace == XNamespace.None || innerElement.Name.Namespace == XNamespace.Xmlns || innerElement.Name.NamespaceName == EpcisNamespaces.Capture)
     {
         epcisEvent = ParseAttributes(innerElement, epcisEvent);
     }
     else
     {
         epcisEvent.CustomFields.Add(XmlCustomFieldParser.ParseCustomField(innerElement, FieldType.EventExtension));
     }
 }
Exemple #6
0
        public static ErrorDeclaration ToErrorDeclaration(this XElement element, EpcisEvent Event)
        {
            foreach (var innerElement in element.Elements().Where(x => !new[] { "id", "corrective", "declarationTime", "reason", "correctiveEventIDs" }.Contains(x.Name.LocalName)))
            {
                Event.CustomFields.Add(XmlCustomFieldParser.ParseCustomField(innerElement, FieldType.ErrorDeclarationExtension));
            }

            var declarationTime    = DateTime.Parse(element.Element("declarationTime").Value, CultureInfo.InvariantCulture);
            var correctiveEventIds = new List <CorrectiveEventId>();

            ParseCorrectiveEventIds(element, correctiveEventIds);

            return(new ErrorDeclaration {
                DeclarationTime = declarationTime, Reason = element.Element("reason").Value, CorrectiveEventIds = correctiveEventIds.ToArray()
            });
        }
        internal static EpcisEvent ParseAttributes(XElement root, EpcisEvent epcisEvent)
        {
            foreach (var node in root.Elements())
            {
                if (node.Name.NamespaceName != XNamespace.None && node.Name.NamespaceName != XNamespace.Xmlns && node.Name.NamespaceName != EpcisNamespaces.Capture)
                {
                    epcisEvent.CustomFields.Add(XmlCustomFieldParser.ParseCustomField(node, FieldType.CustomField));
                }
                else if (ParserMethods.TryGetValue(node.Name.LocalName, out Action <EpcisEvent, XElement> parserMethod))
                {
                    parserMethod(epcisEvent, node);
                }
                else
                {
                    epcisEvent.CustomFields.Add(XmlCustomFieldParser.ParseCustomField(node, FieldType.EventExtension));
                }
            }

            return(epcisEvent);
        }