예제 #1
0
파일: Lote.cs 프로젝트: pjeconde/eFact
 public static void GuardarItfXML(out string NombreProcesado, eFact_Entidades.Lote Lote, string PreFijo, string Ruta, bool IF, bool ParaSubirAIF)
 {
     System.Text.Encoding codificador;
     codificador = System.Text.Encoding.GetEncoding("iso-8859-1");
     string cadena = Cadena(Lote, IF);
     if (ParaSubirAIF)
     {
         FeaEntidades.InterFacturas.lote_comprobantes lc = new FeaEntidades.InterFacturas.lote_comprobantes();
         DeserializarLc(out lc, cadena);
         for (int i = 0; i < lc.comprobante.Length; i++)
         {
             Engine engine = new Engine(); 
             if (lc.comprobante[i].extensiones != null && (lc.comprobante[i].extensiones.extensiones_datos_comerciales != null && lc.comprobante[i].extensiones.extensiones_datos_comerciales != ""))
             {
                 lc.comprobante[i].extensiones.extensiones_datos_comerciales = engine.ConvertToHex(lc.comprobante[i].extensiones.extensiones_datos_comerciales);
             }
             if (lc.comprobante[i].extensiones != null && (lc.comprobante[i].extensiones.extensiones_datos_marketing != null && lc.comprobante[i].extensiones.extensiones_datos_marketing != ""))
             {
                 lc.comprobante[i].extensiones.extensiones_datos_marketing = engine.ConvertToHex(lc.comprobante[i].extensiones.extensiones_datos_marketing);
             }
         }
         SerializarLc(out cadena, lc);
     }
     byte[] a = new byte[cadena.Length];
     a = codificador.GetBytes(cadena);
     GenerarNombreArch(out NombreProcesado, Ruta, PreFijo, Lote, "xml");
     FileStream fs = File.Create(NombreProcesado);
     fs.Write(a, 0, a.Length);
     fs.Close();
 }