public static Forretningskvittering GetForretningskvittering(string xml) { var xmlDocument = new XmlDocument(); xmlDocument.LoadXml(xml); if (IsLeveringskvittering(xmlDocument)) return new Leveringskvittering(xmlDocument, NamespaceManager(xmlDocument)); if (IsVarslingFeiletkvittering(xmlDocument)) return new VarslingFeiletKvittering(xmlDocument, NamespaceManager(xmlDocument)); if (IsFeilmelding(xmlDocument)) return new Feilmelding(xmlDocument, NamespaceManager(xmlDocument)); if (IsÅpningskvittering(xmlDocument)) return new Åpningskvittering(xmlDocument, NamespaceManager(xmlDocument)); if (IsMottaksKvittering(xmlDocument)) return new Mottakskvittering(xmlDocument, NamespaceManager(xmlDocument)); if (IsReturpost(xmlDocument)) return new Returpostkvittering(xmlDocument, NamespaceManager(xmlDocument)); if (IsTomKøKvittering(xmlDocument)) return null; var ingenKvitteringstypeFunnetException = new XmlParseException( "Klarte ikke å finne ut hvilken type Forretningskvittering som ble tatt inn. Sjekk rådata for mer informasjon.") { Rådata = xml }; throw ingenKvitteringstypeFunnetException; }
public static Kvittering GetKvittering(XmlDocument xmlDocument) { var kvittering = (Kvittering) LagForretningskvittering(xmlDocument) ?? LagTransportkvittering(xmlDocument); if (kvittering == null) { var ingenKvitteringstypeFunnetException = new XmlParseException( "Klarte ikke å finne ut hvilken type Kvittering som ble tatt inn. Sjekk rådata for mer informasjon.") { Rådata = xmlDocument.OuterXml }; throw ingenKvitteringstypeFunnetException; } return kvittering; }
public static Transportkvittering GetTransportkvittering(string xml) { var xmlDocument = new XmlDocument(); xmlDocument.LoadXml(xml); if (IsTransportOkKvittering(xmlDocument)) return new TransportOkKvittering(xmlDocument, NamespaceManager(xmlDocument)); if (IsTransportFeiletKvittering(xmlDocument)) return new TransportFeiletKvittering(xmlDocument, NamespaceManager(xmlDocument)); var exception = new XmlParseException( "Klarte ikke å finne ut hvilken type Transportkvittering som ble tatt inn. Sjekk rådata for mer informasjon.") { Rådata = xml }; throw exception; }