protected void BuscarButton_Click(object sender, EventArgs e)
        {
            if (Funciones.SessionTimeOut(Session))
            {
                Response.Redirect("~/SessionTimeout.aspx");
            }
            else
            {
                Entidades.Sesion sesion = (Entidades.Sesion)Session["Sesion"];
                List <FeaEntidades.InterFacturas.Listado.emisor_comprobante_listado> lista = new List <FeaEntidades.InterFacturas.Listado.emisor_comprobante_listado>();
                MensajeLabel.Text = String.Empty;
                Entidades.Persona persona           = ((List <Entidades.Persona>)ViewState["Personas"])[ClienteDropDownList.SelectedIndex];
                org.dyndns.cedweb.listado.cecl cecl = new org.dyndns.cedweb.listado.cecl();
                cecl.cuit_canal          = Convert.ToInt64("30690783521");
                cecl.cuit_vendedor       = Convert.ToInt64(sesion.Cuit.Nro);
                cecl.fecha_emision_desde = FechaDesdeTextBox.Text;
                cecl.fecha_emision_hasta = FechaHastaTextBox.Text;
                if (persona.DocumentoIdTipoDoc != null && persona.DocumentoIdTipoDoc != "")
                {
                    cecl.tipo_doc_comprador          = Convert.ToInt32(persona.DocumentoIdTipoDoc);
                    cecl.tipo_doc_compradorSpecified = true;
                    cecl.doc_comprador          = Convert.ToInt64(persona.Documento.Nro);
                    cecl.doc_compradorSpecified = true;
                }
                else
                {
                    cecl.tipo_doc_compradorSpecified = false;
                    cecl.doc_compradorSpecified      = false;
                }
                cecl.limite = "SCHEMA";

                string NroCertif = ((Entidades.Sesion)Session["Sesion"]).Cuit.NroSerieCertifITF;
                if (NroCertif.Equals(string.Empty))
                {
                    MensajeLabel.Text = "Aún no disponemos de su certificado digital";
                    return;
                }
                GrabarLogTexto("~/Listar.txt", "Consulta de Lote CUIT: " + sesion.Cuit.Nro + "  Fecha Desde: " + FechaDesdeTextBox.Text + "  Fecha Hasta: " + FechaHastaTextBox.Text);
                GrabarLogTexto("~/Listar.txt", "NroSerieCertifITF: " + NroCertif);
                if (NroCertif.Equals(string.Empty))
                {
                    MensajeLabel.Text = "Aún no disponemos de su certificado digital";
                    return;
                }

                string certificado = CaptchaDotNet2.Security.Cryptography.Encryptor.Encrypt(NroCertif, "srgerg$%^bg", Convert.FromBase64String("srfjuoxp")).ToString();
                org.dyndns.cedweb.listado.ListadoIBK clcdyndns = new org.dyndns.cedweb.listado.ListadoIBK();
                string ListadoIBKUtilizarServidorExterno       = System.Configuration.ConfigurationManager.AppSettings["ListadoIBKUtilizarServidorExterno"];
                GrabarLogTexto("~/Listar.txt", "Parametro ListadoIBKUtilizarServidorExterno: " + ListadoIBKUtilizarServidorExterno);
                if (ListadoIBKUtilizarServidorExterno == "SI")
                {
                    clcdyndns.Url = System.Configuration.ConfigurationManager.AppSettings["ListadoIBKurl"];
                    GrabarLogTexto("~/Listar.txt", "Parametro ListadoIBKurl: " + System.Configuration.ConfigurationManager.AppSettings["ListadoIBKurl"]);
                }
                string resp = "";
                try
                {
                    resp = clcdyndns.ListarIBK(cecl, certificado);
                }
                catch (Exception ex)
                {
                    MensajeLabel.Text = ex.Message;
                }
                try
                {
                    //Deserializar
                    FeaEntidades.InterFacturas.Listado.consulta_emisor_listado_response lr = new FeaEntidades.InterFacturas.Listado.consulta_emisor_listado_response();
                    string xml        = resp;
                    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 (lr.emisor_comprobante_response != null && lr.emisor_comprobante_response.emisor_comprobante_listado != null && lr.emisor_comprobante_response.emisor_comprobante_listado.Length != 0)
                    {
                        lista = lr.emisor_comprobante_response.emisor_comprobante_listado.ToList <FeaEntidades.InterFacturas.Listado.emisor_comprobante_listado>();
                    }
                }
                catch
                {
                }
                if (lista.Count == 0)
                {
                    ComprobantesGridView.DataSource = null;
                    ComprobantesGridView.DataBind();
                    if (MensajeLabel.Text != "")
                    {
                        MensajeLabel.Text += "<br />";
                    }
                    MensajeLabel.Text += "No se han encontrado Comprobantes que satisfagan la busqueda";
                }
                else
                {
                    ComprobantesGridView.DataSource = lista;
                    ViewState["Comprobantes"]       = lista;
                    ComprobantesGridView.DataBind();
                }
            }
        }
        protected void BuscarButton_Click(object sender, EventArgs e)
        {
            if (Funciones.SessionTimeOut(Session))
            {
                Response.Redirect("~/SessionTimeout.aspx");
            }
            else
            {
                Entidades.Sesion sesion = (Entidades.Sesion)Session["Sesion"];
                List<FeaEntidades.InterFacturas.Listado.emisor_comprobante_listado> lista = new List<FeaEntidades.InterFacturas.Listado.emisor_comprobante_listado>();
                MensajeLabel.Text = String.Empty;
                Entidades.Persona persona = ((List<Entidades.Persona>)ViewState["Personas"])[ClienteDropDownList.SelectedIndex];
                org.dyndns.cedweb.listado.cecl cecl = new org.dyndns.cedweb.listado.cecl();
                cecl.cuit_canal = Convert.ToInt64("30690783521");
                cecl.cuit_vendedor = Convert.ToInt64(sesion.Cuit.Nro);
                cecl.fecha_emision_desde = FechaDesdeTextBox.Text;
                cecl.fecha_emision_hasta = FechaHastaTextBox.Text;
                if (persona.DocumentoIdTipoDoc != null && persona.DocumentoIdTipoDoc != "")
                {
                    cecl.tipo_doc_comprador = Convert.ToInt32(persona.DocumentoIdTipoDoc);
                    cecl.tipo_doc_compradorSpecified = true;
                    cecl.doc_comprador = persona.DocumentoNro;
                    cecl.doc_compradorSpecified = true;
                }
                else
                {
                    cecl.tipo_doc_compradorSpecified = false;
                    cecl.doc_compradorSpecified = false;
                }
                cecl.limite = "SCHEMA";

                string NroCertif = ((Entidades.Sesion)Session["Sesion"]).Cuit.NroSerieCertifITF;
                if (NroCertif.Equals(string.Empty))
                {
                    MensajeLabel.Text = "Aún no disponemos de su certificado digital";
                    return;
                }
                GrabarLogTexto("~/Listar.txt", "Consulta de Lote CUIT: " + sesion.Cuit.Nro + "  Fecha Desde: " + FechaDesdeTextBox.Text + "  Fecha Hasta: " + FechaHastaTextBox.Text);
                GrabarLogTexto("~/Listar.txt", "NroSerieCertifITF: " + NroCertif);
                if (NroCertif.Equals(string.Empty))
                {
                    MensajeLabel.Text = "Aún no disponemos de su certificado digital";
                    return;
                }

                string certificado = CaptchaDotNet2.Security.Cryptography.Encryptor.Encrypt(NroCertif, "srgerg$%^bg", Convert.FromBase64String("srfjuoxp")).ToString();
                org.dyndns.cedweb.listado.ListadoIBK clcdyndns = new org.dyndns.cedweb.listado.ListadoIBK();
                string ListadoIBKUtilizarServidorExterno = System.Configuration.ConfigurationManager.AppSettings["ListadoIBKUtilizarServidorExterno"];
                GrabarLogTexto("~/Listar.txt", "Parametro ListadoIBKUtilizarServidorExterno: " + ListadoIBKUtilizarServidorExterno);
                if (ListadoIBKUtilizarServidorExterno == "SI")
                {
                    clcdyndns.Url = System.Configuration.ConfigurationManager.AppSettings["ListadoIBKurl"];
                    GrabarLogTexto("~/Listar.txt", "Parametro ListadoIBKurl: " + System.Configuration.ConfigurationManager.AppSettings["ListadoIBKurl"]);
                }
                string resp = "";
                try
                {
                    resp = clcdyndns.ListarIBK(cecl, certificado);
                }
                catch (Exception ex)
                {
                    MensajeLabel.Text = ex.Message;
                }
                try
                {
                    //Deserializar
                    FeaEntidades.InterFacturas.Listado.consulta_emisor_listado_response lr = new FeaEntidades.InterFacturas.Listado.consulta_emisor_listado_response();
                    string xml = resp;
                    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 (lr.emisor_comprobante_response != null && lr.emisor_comprobante_response.emisor_comprobante_listado != null && lr.emisor_comprobante_response.emisor_comprobante_listado.Length != 0)
                    {
                        lista = lr.emisor_comprobante_response.emisor_comprobante_listado.ToList<FeaEntidades.InterFacturas.Listado.emisor_comprobante_listado>();
                    }
                }
                catch
                {
                }
                if (lista.Count == 0)
                {
                    ComprobantesGridView.DataSource = null;
                    ComprobantesGridView.DataBind();
                    if (MensajeLabel.Text != "")
                    {
                        MensajeLabel.Text += "<br />";
                    }
                    MensajeLabel.Text += "No se han encontrado Comprobantes que satisfagan la busqueda";
                }
                else
                {
                    ComprobantesGridView.DataSource = lista;
                    ViewState["Comprobantes"] = lista;
                    ComprobantesGridView.DataBind();
                }
            }
        }
コード例 #3
0
ファイル: Comprobante.cs プロジェクト: pjeconde/CedServicios
        public static string ComprobantesListadoIBK(FeaEntidades.InterFacturas.Listado.consulta_emisor_comprobante_listado cecl, string certificado)
        {
            GrabarLogTexto("Listar.txt", "Paso1");
            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);

            GrabarLogTexto("Listar.txt", "Paso2");
            //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(cecl.GetType());
            x.Serialize(writer, cecl);
            ms = (MemoryStream)writer.BaseStream;
            string InputTexto = ByteArrayToString(ms.ToArray());
            ms.Close();
            ms = null;

            GrabarLogTexto("Listar.txt", "Paso3");
            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.getComprobantesListado(InputTexto);
                
                GrabarLogTexto("Listar.txt", "Paso4");
                resultado = resultado.Replace("\n", "");
                resultado = resultado.Replace("<consulta_emisor_comprobante_listado_response xmlns=\"http://lote.schemas.cfe.ib.com.ar/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">", "");
                resultado = resultado.Replace("</consulta_emisor_comprobante_listado_response>", "");
                resultado = resultado.Replace(" xsi:nil=\"true\"", "");
                //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");
            }
        }