private string ArmarLoteXML(FeaEntidades.InterFacturas.lote_comprobantes Lc) { //Deserializar ( pasar de FeaEntidades.InterFacturas.lote_comprobantes a string XML ) MemoryStream ms = new MemoryStream(); XmlTextWriter writer = new XmlTextWriter(ms, System.Text.Encoding.GetEncoding("ISO-8859-1")); System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(Lc.GetType()); x.Serialize(writer, Lc); ms = (MemoryStream)writer.BaseStream; string LoteXML = ByteArrayToString(ms.ToArray()); ms.Close(); return LoteXML; }
public static void SerializarC(out string LoteXML, FeaEntidades.InterFacturas.comprobante Lc) { //Serializar ( pasar de FeaEntidades.InterFacturas.lote_comprobantes a string XML ) MemoryStream ms = new MemoryStream(); XmlTextWriter writer = new XmlTextWriter(ms, System.Text.Encoding.GetEncoding("ISO-8859-1")); System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(Lc.GetType()); x.Serialize(writer, Lc); ms = (MemoryStream)writer.BaseStream; LoteXML = ByteArrayToString(ms.ToArray()); ms.Close(); ms = null; }
public static void ActualizarDatosCAE(eFact_Entidades.Lote Lote, FeaEntidades.InterFacturas.lote_comprobantes Lc) { MemoryStream ms; System.Xml.XmlTextWriter writer; System.Xml.Serialization.XmlSerializer x; String XmlizedString; //Actualizar lote ms = new MemoryStream(); XmlizedString = null; writer = new XmlTextWriter(ms, System.Text.Encoding.GetEncoding("ISO-8859-1")); x = new System.Xml.Serialization.XmlSerializer(Lc.GetType()); x.Serialize(writer, Lc); ms = (MemoryStream)writer.BaseStream; XmlizedString = eFact_RN.Tablero.ByteArrayToString(ms.ToArray()); ms.Close(); ms = null; Lote.LoteXmlIF = XmlizedString; eFact_Entidades.Comprobante comprobante =new eFact_Entidades.Comprobante(); string sFecha = ""; for (int i = 0; i < Lc.comprobante.Length; i++) { eFact_Entidades.Comprobante c = Lote.Comprobantes.Find((delegate(eFact_Entidades.Comprobante e1) { return e1.IdTipoComprobante == Convert.ToInt16(Lc.comprobante[i].cabecera.informacion_comprobante.tipo_de_comprobante.ToString()) && e1.NumeroComprobante == Lc.comprobante[i].cabecera.informacion_comprobante.numero_comprobante.ToString(); })); if (Lc.comprobante[i].cabecera.informacion_comprobante.cae != null) { c.NumeroCAE = Lc.comprobante[i].cabecera.informacion_comprobante.cae.ToString(); } if (Lc.comprobante[i].cabecera.informacion_comprobante.fecha_obtencion_cae != null) { sFecha = Lc.comprobante[i].cabecera.informacion_comprobante.fecha_obtencion_cae.ToString(); c.FechaCAE = Convert.ToDateTime(sFecha.Substring(0, 4) + "/" + sFecha.Substring(4, 2) + "/" + sFecha.Substring(6, 2)); } if (Lc.comprobante[i].cabecera.informacion_comprobante.fecha_vencimiento_cae != null) { sFecha = Lc.comprobante[i].cabecera.informacion_comprobante.fecha_vencimiento_cae.ToString(); c.FechaVtoCAE = Convert.ToDateTime(sFecha.Substring(0, 4) + "/" + sFecha.Substring(4, 2) + "/" + sFecha.Substring(6, 2)); } c.EstadoIFoAFIP = Lc.comprobante[i].cabecera.informacion_comprobante.resultado; c.ComentarioIFoAFIP = Lc.comprobante[i].cabecera.informacion_comprobante.motivo; } }
public static string ComprobanteDetalleIBK(FeaEntidades.InterFacturas.Detalle.consulta_emisor_comprobante_detalle cecd, string certificado) { RN.IBKComprobantesListado.ReporteFacturaWebService objIBK = new RN.IBKComprobantesListado.ReporteFacturaWebService(); objIBK.Url = System.Configuration.ConfigurationManager.AppSettings["URLinterfacturasListado"]; if (System.Configuration.ConfigurationManager.AppSettings["Proxy"] != null && System.Configuration.ConfigurationManager.AppSettings["Proxy"] != "") { System.Net.WebProxy wp = new System.Net.WebProxy(System.Configuration.ConfigurationManager.AppSettings["Proxy"], false); string usuarioProxy = System.Configuration.ConfigurationManager.AppSettings["UsuarioProxy"]; string claveProxy = System.Configuration.ConfigurationManager.AppSettings["ClaveProxy"]; string dominioProxy = System.Configuration.ConfigurationManager.AppSettings["DominioProxy"]; System.Net.NetworkCredential networkCredential = new System.Net.NetworkCredential(usuarioProxy, claveProxy, dominioProxy); wp.Credentials = networkCredential; objIBK.Proxy = wp; } string storeLocation = System.Configuration.ConfigurationManager.AppSettings["StoreLocation"]; X509Store store; if (storeLocation == "CurrentUser") { store = new X509Store(StoreLocation.CurrentUser); } else { store = new X509Store(StoreLocation.LocalMachine); } store.Open(OpenFlags.ReadOnly); //Serializar ( pasar de FeaEntidades.InterFacturas.consulta_emisor_comprobante_listado a String XML ) MemoryStream ms = new MemoryStream(); XmlTextWriter writer = new XmlTextWriter(ms, System.Text.Encoding.GetEncoding("ISO-8859-1")); System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(cecd.GetType()); x.Serialize(writer, cecd); ms = (MemoryStream)writer.BaseStream; string InputTexto = ByteArrayToString(ms.ToArray()); ms.Close(); ms = null; X509Certificate2Collection col = store.Certificates.Find(X509FindType.FindBySerialNumber, certificado, true); if (col.Count.Equals(1)) { objIBK.ClientCertificates.Add(col[0]); System.Threading.Thread.Sleep(1000); string resultado = string.Empty; resultado = objIBK.getComprobanteDetalle(InputTexto); //XmlTextWriter writer = new XmlTextWriter(ms, System.Text.Encoding.GetEncoding("ISO-8859-1")); resultado = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + resultado; //resultado = resultado.Replace("\n", ""); resultado = resultado.Replace("<consulta_emisor_comprobante_detalle_response xmlns=\"http://lote.schemas.cfe.ib.com.ar/\">", ""); resultado = resultado.Replace("</consulta_emisor_comprobante_detalle_response>", ""); resultado = resultado.Replace("<consulta_emisor_detalle_response>", ""); resultado = resultado.Replace("</consulta_emisor_detalle_response>", ""); resultado = resultado.Replace("<comprobante>", "<comprobante xmlns=\"http://lote.schemas.cfe.ib.com.ar/\">"); resultado = resultado.Replace(" xsi:nil=\"true\"", ""); resultado = resultado.Replace("https://qacfe.interbanking.com.ar/cfeWeb/LogoService?idlogo=", "https://srv1.interfacturas.com.ar/cfeWeb/LogoService?idlogo="); ////Deserializar //FeaEntidades.InterFacturas.Listado.consulta_emisor_listado_response lr = new FeaEntidades.InterFacturas.Listado.consulta_emisor_listado_response(); //string xml = resultado; //var serializer = new System.Xml.Serialization.XmlSerializer(typeof(FeaEntidades.InterFacturas.Listado.consulta_emisor_listado_response)); //using (TextReader reader = new StringReader(xml)) //{ // lr = (FeaEntidades.InterFacturas.Listado.consulta_emisor_listado_response)serializer.Deserialize(reader); //} //if (lcr.Item.GetType() == typeof(IBK.lote_comprobantes_responseErrores_response)) //{ // resultado = ((IBK.lote_comprobantes_responseErrores_response)lcr.Item).error[0].descripcion_error; //} //else if (!((IBK.lote_response)(lcr.Item)).estado.Equals("OK")) //{ // if (((IBK.lote_response)lcr.Item).errores_lote != null) // { // resultado = ((IBK.lote_response)lcr.Item).errores_lote[0].descripcion_error; // } // else // { // resultado = ((IBK.lote_response)lcr.Item).comprobante_response[0].errores_comprobante[0].descripcion_error; // } // throw new Exception(resultado); //} //else //{ // resultado = "Comprobante enviado satisfactoriamente a Interfacturas."; //} return resultado; } else { throw new Exception("Su certificado no está disponible en nuestro repositorio"); } }
public static void ActualizarDatos(eFact_Entidades.Lote Lote, FeaEntidades.InterFacturas.lote_comprobantes Lc) { MemoryStream ms; System.Xml.XmlTextWriter writer; System.Xml.Serialization.XmlSerializer x; String XmlizedString; //Actualizar lote ms = new MemoryStream(); XmlizedString = null; writer = new XmlTextWriter(ms, System.Text.Encoding.GetEncoding("ISO-8859-1")); x = new System.Xml.Serialization.XmlSerializer(Lc.GetType()); x.Serialize(writer, Lc); ms = (MemoryStream)writer.BaseStream; XmlizedString = eFact_RN.Tablero.ByteArrayToString(ms.ToArray()); ms.Close(); ms = null; Lote.LoteXmlIF = XmlizedString; }