/// <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); }
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); }
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); }