public Ticket()
 {
     setModo(EnumModoTicket.Modo58mm);
     Negocio   = new DatosNegocio();
     Cliente   = new DatosCliente();
     Documento = new DatosDocumento();
 }
        RespuestaSincrono IServicioSunatConsultas.ConsultarConstanciaDeRecepcion(DatosDocumento request)
        {
            var response = new RespuestaSincrono();

            try
            {
                _proxyConsultas.Open();
                var resultado = _proxyConsultas.getStatusCdr(request.RucEmisor, request.TipoComprobante, request.Serie, request.Numero);

                _proxyConsultas.Close();

                var estado = (resultado.statusCode != "98");

                response.ConstanciaDeRecepcion = estado  ?   Convert.ToBase64String(resultado.content)   :   "Aun en proceso";
                response.Exito = true;
            }
            catch (FaultException ex)
            {
                response.MensajeError = string.Concat(ex.Code.Name, ex.Message);
            }
            catch (Exception ex)
            {
                var msg = ex.InnerException != null?string.Concat(ex.InnerException.Message, ex.Message) :   ex.Message;

                if (msg.Contains(Formatos.FaultCode))
                {
                    var posicion    = msg.IndexOf(Formatos.FaultCode, StringComparison.Ordinal);
                    var codigoError = msg.Substring(posicion + Formatos.FaultCode.Length, 4);
                    msg = $"El Código de Error es {codigoError}";
                }
                response.MensajeError = msg;
            }

            return(response);
        }
Example #3
0
        private async void kryptonButton1_Click(object sender, EventArgs e)
        {
            ISerializador           serializador            = new Serializador();
            IServicioSunatConsultas servicioSunatDocumentos = new ServicioSunatConsultas();
            RespuestaSincrono       respuestaEnvio          = new RespuestaSincrono();

            var response = new EnviarDocumentoResponse();

            var request = new DatosDocumento
            {
                TipoComprobante = "01",
                Serie           = "F005",
                Numero          = 3,
                RucEmisor       = "20561278441"
            };

            servicioSunatDocumentos.Inicializar(new ParametrosConexion
            {
                Ruc         = "20561278441",
                UserName    = "******",
                Password    = "******",
                EndPointUrl = "https://e-factura.sunat.gob.pe/ol-it-wsconscpegem/billConsultService"
            });

            respuestaEnvio = servicioSunatDocumentos.ConsultarConstanciaDeRecepcion(request);

            if (respuestaEnvio.Exito)
            {
                response = await serializador.GenerarDocumentoRespuesta(respuestaEnvio.ConstanciaDeRecepcion);

                if (response.Exito)
                {
                    MessageBox.Show(response.MensajeRespuesta);

                    File.WriteAllBytes($"{Program.CarpetaCdr}\\R-{request.RucEmisor}-{request.TipoComprobante}-{request.Serie}-{request.Numero}.zip",
                                       Convert.FromBase64String(respuestaEnvio.ConstanciaDeRecepcion));
                }
                else
                {
                    MessageBox.Show(response.MensajeError);
                }
            }
            else
            {
                MessageBox.Show(respuestaEnvio.MensajeError);
            }
        }
Example #4
0
 public Ticket()
 {
     Negocio   = new DatosNegocio();
     Cliente   = new DatosCliente();
     Documento = new DatosDocumento();
 }