private void btnGetStatus_Click_1(object sender, EventArgs e) { try { Cursor = Cursors.WaitCursor; using (var frm = new FrmTicket()) { if (frm.ShowDialog() != DialogResult.OK) { return; } if (string.IsNullOrEmpty(frm.txtNroTicket.Text)) { return; } var consultaTicketRequest = new ConsultaTicketRequest { Ruc = txtNroRuc.Text, UsuarioSol = txtUsuarioSol.Text, ClaveSol = txtClaveSol.Text, EndPointUrl = ValorSeleccionado(),//"https://www.sunat.gob.pe/ol-ti-itcpgem-sqa/billService", IdDocumento = txtSerieCorrelativo.Text, NroTicket = frm.txtNroTicket.Text }; var respuestaEnvio = new EnviarDocumentoResponse(); ConsultarTicket ConsultaTiket = new ConsultarTicket(); respuestaEnvio = ConsultaTiket.EnviarDocumentoResponse(consultaTicketRequest); if (!respuestaEnvio.Exito) { throw new ApplicationException(respuestaEnvio.MensajeError); } txtResult.Text = $"{Resources.procesoCorrecto}{Environment.NewLine}{respuestaEnvio.MensajeRespuesta}"; } } catch (Exception ex) { txtResult.Text = ex.Message; } finally { Cursor = Cursors.Default; } }
public EnviarDocumentoResponse EnviarDocumentoResponse(ConsultaTicketRequest request) { var response = new EnviarDocumentoResponse(); try { var conexionSunat = new ConexionSunat(new ConexionSunat.Parametros { Ruc = request.Ruc, UserName = request.UsuarioSol, Password = request.ClaveSol, EndPointUrl = request.EndPointUrl }); var resultado = conexionSunat.ObtenerEstado(request.NroTicket); if (resultado.Item2) { var returnByte = Convert.FromBase64String(resultado.Item1); using (var memRespuesta = new MemoryStream(returnByte)) { using (var zipFile = ZipFile.Read(memRespuesta)) { foreach (var entry in zipFile.Entries) { if (!entry.FileName.EndsWith(".xml")) { continue; } using (var ms = new MemoryStream()) { entry.Extract(ms); ms.Position = 0; var responseReader = new StreamReader(ms); var responseString = responseReader.ReadToEnd(); try { var xmlDoc = new XmlDocument(); xmlDoc.LoadXml(responseString); var xmlnsManager = new XmlNamespaceManager(xmlDoc.NameTable); xmlnsManager.AddNamespace("ar", EspacioNombres.ar); xmlnsManager.AddNamespace("cac", EspacioNombres.cac); xmlnsManager.AddNamespace("cbc", EspacioNombres.cbc); response.CodigoRespuesta = xmlDoc.SelectSingleNode(EspacioNombres.nodoResponseCode, xmlnsManager)?.InnerText; response.MensajeRespuesta = xmlDoc.SelectSingleNode(EspacioNombres.nodoDescription, xmlnsManager)?.InnerText; response.TramaZipCdr = resultado.Item1; response.Exito = true; } catch (Exception ex) { response.MensajeError = ex.Message; response.Pila = ex.StackTrace; response.Exito = false; } } } } } } else { response.Exito = true; response.MensajeRespuesta = resultado.Item1; } } catch (Exception ex) { response.MensajeError = ex.Message; response.Pila = ex.StackTrace; response.Exito = false; } return(response); }