Ejemplo n.º 1
0
        } // !Save()

        /// <summary>
        /// Saves the descriptor object into a file with given name.
        /// </summary>
        /// <param name="filename">The filename where the data should be saved to.</param>
        /// <param name="version">The ZUGFeRD version you want to use. Defaults to version 1.</param>
        /// <param name="profile">The ZUGFeRD profile you want to use. Defaults to Basic.</param>
        public void Save(string filename, ZUGFeRDVersion version = ZUGFeRDVersion.Version1, Profile profile = Profile.Basic)
        {
            this.Profile = profile;
            IInvoiceDescriptorWriter writer = _selectInvoiceDescriptorWriter(version);

            writer.Save(this, filename);
        } // !Save()
Ejemplo n.º 2
0
        } // !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, Profile profile = Profile.Basic)
        {
            this.Profile = profile;

            IInvoiceDescriptorWriter writer = null;

            switch (version)
            {
            case ZUGFeRDVersion.Version1:
                writer = new InvoiceDescriptor1Writer();
                break;

            case ZUGFeRDVersion.Version20:
                writer = new InvoiceDescriptor20Writer();
                break;

            case ZUGFeRDVersion.Version21:
                writer = new InvoiceDescriptor21Writer();
                break;

            default:
                break;
            }
            writer.Save(this, stream);
        } // !Save()
Ejemplo n.º 3
0
        } // !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("");
                }
            }
            else
            {
                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()
Ejemplo n.º 4
0
        } // !FromString()

        public static string EnumToString(this Profile profile, ZUGFeRDVersion version)
        {
            switch (version)
            {
            case 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: throw new Exception("Unsupported profile for ZUGFeRD version 1");
                }

            case ZUGFeRDVersion.Version20:
                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.BasicWL: return("urn:zugferd.de:2p0:basicwl");

                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: throw new Exception("Unsupported profile for ZUGFeRD version 20");
                }

            case ZUGFeRDVersion.Version21:
                switch (profile)
                {
                case Profile.Minimum: return("urn:factur-x.eu:1p0:minimum");

                case Profile.Basic: return("urn:cen.eu:en16931:2017#compliant#urn:factur-x.eu:1p0:basic");

                case Profile.BasicWL: return("urn:factur-x.eu:1p0:basicwl");

                case Profile.Comfort: return("urn:cen.eu:en16931:2017");

                case Profile.Extended: return("urn:cen.eu:en16931:2017#conformant#urn:factur-x.eu:1p0:extended");

                case Profile.XRechnung1: return("urn:cen.eu:en16931:2017#compliant#urn:xoev-de:kosit:standard:xrechnung_1.2");

                case Profile.XRechnung: return("urn:cen.eu:en16931:2017#compliant#urn:xoev-de:kosit:standard:xrechnung_2.0");

                default: throw new Exception("Unsupported profile for ZUGFeRD version 21");
                }

            default:
                // return "";
                throw new UnsupportedException("New ZUGFeRDVersion '" + version + "' defined but not implemented!");
            }
        } // !ToString()
Ejemplo n.º 5
0
        } // !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()
Ejemplo n.º 6
0
        } // !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()
Ejemplo n.º 7
0
        } // !AddApplicableTradeTax()

        private IInvoiceDescriptorWriter _selectInvoiceDescriptorWriter(ZUGFeRDVersion version)
        {
            switch (version)
            {
            case ZUGFeRDVersion.Version1:
                return(new InvoiceDescriptor1Writer());

            case ZUGFeRDVersion.Version20:
                return(new InvoiceDescriptor20Writer());

            case ZUGFeRDVersion.Version21:
                return(new InvoiceDescriptor21Writer());

            default:
                throw new UnsupportedException("New ZUGFeRDVersion '" + version + "' defined but not implemented!");
            }
        } // !_selectInvoiceDescriptorWriter()
Ejemplo n.º 8
0
        } // !Save()

        public void Save(string filename, ZUGFeRDVersion version = ZUGFeRDVersion.Version1, Profile profile = Profile.Basic)
        {
            IInvoiceDescriptorWriter writer = null;

            switch (version)
            {
            case ZUGFeRDVersion.Version1:
                writer = new InvoiceDescriptor1Writer();
                break;

            case ZUGFeRDVersion.Version20:
                writer = new InvoiceDescriptor20Writer();
                break;

            case ZUGFeRDVersion.Version21:
                writer = new InvoiceDescriptor21Writer();
                break;

            default:
                break;
            }
            writer.Save(this, filename);
        } // !Save()