} // !FromString() public static string EnumToString(this Profile profile, ZugFeRDVersion version) { if (version == ZugFeRDVersion.Version1) { switch (profile) { case Profile.Basic: return("urn:ferd:CrossIndustryDocument:invoice:1p0:basic"); case Profile.Comfort: return("urn:ferd:CrossIndustryDocument:invoice:1p0:comfort"); case Profile.Extended: return("urn:ferd:CrossIndustryDocument:invoice:1p0:extended"); default: return(""); } } switch (profile) { case Profile.Minimum: return("urn:zugferd.de:2p0:minimum"); case Profile.Basic: return("urn:cen.eu:en16931:2017#compliant#urn:zugferd.de:2p0:basic"); case Profile.Comfort: return("urn:cen.eu:en16931:2017"); case Profile.Extended: return("urn:cen.eu:en16931:2017#conformant#urn:zugferd.de:2p0:extended"); default: return(""); } } // !ToString()
} // !Save() public void Save(string filename, ZugFeRDVersion version = ZugFeRDVersion.Version1) { IInvoiceDescriptorWriter writer = null; if (version == ZugFeRDVersion.Version1) { writer = new InvoiceDescriptor1Writer(); } else { writer = new InvoiceDescriptor2Writer(); } writer.Save(this, filename); } // !Save()
} // !AddApplicableTradeTax() /// <summary> /// Saves the descriptor object into a stream. /// /// The stream position will be reset to the original position after writing is finished. /// This allows easy further processing of the stream. /// </summary> /// <param name="stream"></param> public void Save(Stream stream, ZugFeRDVersion version = ZugFeRDVersion.Version1) { IInvoiceDescriptorWriter writer = null; if (version == ZugFeRDVersion.Version1) { writer = new InvoiceDescriptor1Writer(); } else { writer = new InvoiceDescriptor2Writer(); } writer.Save(this, stream); } // !Save()