Exemple #1
0
        /// <summary>
        /// Prüft die Rechnung auf Gültigkeit gemäß ebInterface Standard [is valid invoice].
        /// </summary>
        /// <param name="xmlInvoice">ebInterface Xml String</param>
        /// <returns>Eine <see cref="EbInterfaceResult"/> Instanz</returns>
        internal EbInterfaceResult IsValidInvoice(string xmlInvoice)
        {
            XmlDocument xDoc = new XmlDocument();

            xDoc.LoadXml(xmlInvoice);
            EbInterfaceResult result = IsValidInvoice(xDoc);

            return(result);
        }
Exemple #2
0
        internal EbInterfaceResult Save(string file, object invoice)
        {
            XmlDocument       xmlDocument = ToXmlDocument(invoice);
            EbInterfaceResult ebiResult   = IsValidInvoice(xmlDocument);

            if (ebiResult.ResultType == ResultType.IsValid)
            {
                string xmlstr = WriteXML(xmlDocument);
                File.WriteAllText(file, xmlstr);
            }
            return(ebiResult);
        }
Exemple #3
0
        internal EbInterfaceResult IsValidInvoice(XmlDocument xDoc, object invoiceType)
        {
            XmlValidator xmlValidator = new XmlValidator();

            XmlValidator.XmlValidatorResult xmlResult;
            xmlValidator.SchemaSet = GetXmlSchemas(xDoc);

            xmlResult = xmlValidator.ValidateXmlDocument(xDoc, ValidationType.Schema, null);
            EbInterfaceResult ebIResult = new EbInterfaceResult();

            if (xmlResult == XmlValidator.XmlValidatorResult.Valid)
            {
                ebIResult.ResultType = ResultType.IsValid;
            }
            else
            {
                ebIResult.ResultType = ResultType.XmlValidationIssue;
                foreach (var errMsg in xmlValidator.Warnings)
                {
                    ebIResult.ResultMessages.Add(new ResultMessage()
                    {
                        Field    = errMsg.Field,
                        Message  = errMsg.Message,
                        Severity = MessageType.Warning
                    });
                }
                foreach (var errMsg in xmlValidator.Errors)
                {
                    ebIResult.ResultMessages.Add(new ResultMessage()
                    {
                        Field    = errMsg.Field,
                        Message  = errMsg.Message,
                        Severity = MessageType.Error
                    });
                }
            }
            return(ebIResult);
        }