Esempio n. 1
0
        /// <summary>
        /// Create XML with correct namespaces
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="oComprobante"></param>
        /// <returns></returns>
        public virtual string CreateXml <ICFDINomProvider>(ICFDINomProvider oComprobante, bool isTFD = false)
        {
            XmlSerializerNamespaces xmlNameSpace = new XmlSerializerNamespaces();

            xmlNameSpace.Add(CFDI_PrefixName, CFDI_Namespace);

            if (isTFD)
            {
                xmlNameSpace.Add(TFD_PrefixName, TFD_Namespace);
            }
            xmlNameSpace.Add("xsi", XSI_Namespace);
            xmlNameSpace.Add(Payroll_PrefixName, Payroll_Namespace);

            XmlSerializer oXmlSerializar = new XmlSerializer(oComprobante.GetType());

            string sXml = String.Empty;

            using (var sww = new Utils.StringWriterWithEncoding(Encoding.UTF8))
            {
                using (XmlWriter writter = XmlWriter.Create(sww))
                {
                    oXmlSerializar.Serialize(writter, oComprobante, xmlNameSpace);
                    sXml = sww.ToString();
                }
            }

            return(sXml);
        }
Esempio n. 2
0
        /// <summary>
        /// Create the TFD xml
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="oNomina"></param>
        /// <returns></returns>
        public virtual string CreateXmlTFD <T>(T oNomina) where T : class
        {
            XmlSerializerNamespaces xmlNameSpace   = new XmlSerializerNamespaces();
            XmlSerializer           oXmlSerializar = new XmlSerializer(typeof(T));

            xmlNameSpace.Add(TFD_PrefixName, TFD_Namespace);

            string sXml = String.Empty;

            using (var sww = new Utils.StringWriterWithEncoding(Encoding.UTF8))
            {
                using (XmlWriter writter = XmlWriter.Create(sww))
                {
                    oXmlSerializar.Serialize(writter, oNomina, xmlNameSpace);
                    sXml = sww.ToString();
                }
            }

            return(sXml);
        }