Exemple #1
0
        public bool Validate(ns2BilanzdatenTyp elbaInformation)
        {
            ResultMessages.Clear();

            XmlNode instanceNode = elbaInformation.Abschluss.First()?.Daten.XbrlAbschlussdaten.XBRL.Any.FirstOrDefault();

            if (instanceNode == null)
            {
                ResultMessages.Add(new RequestResultMessage("Es konnte keine XBRL-Instanz gefunden werden.", MessageId));
                return(IsValid);
            }

            XmlNamespaceManager    namespaceManager = BalanceInformation.SetupNamespaceManager(instanceNode.OwnerDocument);
            ns2BilanzdatenTypKunde kunde            = elbaInformation.Kunde;

            CompareValues(instanceNode, namespaceManager, CompanyNameConcept, kunde.Name, "Name (Kunde)");
            CompareValues(instanceNode, namespaceManager, CompanyCountryConcept, kunde.Adresse.Land, "Land (Kunde)");
            if (kunde.Adresse.Hausanschrift != null)
            {
                CompareValues(instanceNode, namespaceManager, CompanyCityConcept, kunde.Adresse.Hausanschrift.Ort,
                              "Ort (Kunde Hausanschrift)");
                CompareValues(instanceNode, namespaceManager, CompanyZipCodeConcept, kunde.Adresse.Hausanschrift.PLZ,
                              "PLZ (Kunde Hausanschrift)");
                ValidateAddress(instanceNode, namespaceManager, kunde.Adresse.Hausanschrift.Strasse_Hausnummer.Trim());
            }

            return(IsValid);
        }