internal static void ParseIlmd(XElement element, EpcisEvent epcisEvent) { foreach (var children in element.Elements()) { epcisEvent.CustomFields.Add(XmlCustomFieldParser.ParseCustomField(children, FieldType.Ilmd)); } }
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; }
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)); } }
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); }