private EDEEnviarDocumentoResponse ProcesarFAE <T>(T objFAE, EDECommonRequest objEDECommonRequest, string IdDocumento) { objEDERespuesta = new EDEEnviarDocumentoResponse(); //Generacion de XML var respuestaGenerarXMLRequest = RequestApiService <T, EDEDocumentoResponse>(objEDECommonRequest.NombreMetodoProcesoAPI, objFAE); if (respuestaGenerarXMLRequest.Exito) { //Guardar XML WriteResponsePackage(objEDECommonRequest.IdCliente.ToString(), objEDECommonRequest.IdTienda.ToString(), objEDECommonRequest.NombreCarpetaSinFirmar, $"{IdDocumento}.xml", respuestaGenerarXMLRequest.TramaXmlSinFirma); //Firmar el documento XML var firmadoRequest = new EDEFirmadoRequest { TramaXmlSinFirma = respuestaGenerarXMLRequest.TramaXmlSinFirma, CertificadoDigital = objEDECommonRequest.URLCertificado, PasswordCertificado = objEDECommonRequest.ClaveDigital, UnSoloNodoExtension = objEDECommonRequest.TipoDocumento == "RC" ? true : false }; var respuestaFirmarXML = RequestApiService <EDEFirmadoRequest, EDEFirmadoResponse>("api/Firmar", firmadoRequest); if (respuestaFirmarXML.Exito) { objEDERespuesta.Pila = respuestaFirmarXML.ResumenFirma; //Guardar XML Firmado WriteResponsePackage(objEDECommonRequest.IdCliente.ToString(), objEDECommonRequest.IdTienda.ToString(), objEDECommonRequest.NombreCarpetaFirmado, $"{IdDocumento}.xml", respuestaFirmarXML.TramaXmlFirmado); //Enviar XML firmado a SUNAT EDEEnviarDocumentoRequest enviarDocumentoRequest; //Uso de discriminante para comunicacion de baja if (objEDECommonRequest.TipoDocumento != "CB") { enviarDocumentoRequest = new EDEEnviarDocumentoRequest { Ruc = objEDECommonRequest.RUC, UsuarioSol = objEDECommonRequest.UsuarioSOL, ClaveSol = objEDECommonRequest.ClaveSOL, EndPointUrl = ConfigurationManager.AppSettings["EndPointBoletaSUNAT"].ToString(), IdDocumento = IdDocumento, TipoDocumento = objEDECommonRequest.TipoDocumento, TramaXmlFirmado = respuestaFirmarXML.TramaXmlFirmado }; } else { enviarDocumentoRequest = new EDEEnviarDocumentoRequest { Ruc = objEDECommonRequest.RUC, UsuarioSol = objEDECommonRequest.UsuarioSOL, ClaveSol = objEDECommonRequest.ClaveSOL, EndPointUrl = ConfigurationManager.AppSettings["EndPointBoletaSUNAT"].ToString(), IdDocumento = IdDocumento, TramaXmlFirmado = respuestaFirmarXML.TramaXmlFirmado }; } EDEEnviarDocumentoResponse respuestaEnvio = RequestApiService <EDEEnviarDocumentoRequest, EDEEnviarDocumentoResponse>(objEDECommonRequest.NombreMetodoEnvioAPI, enviarDocumentoRequest); if (respuestaEnvio.Exito) { //Guardar CDR WriteResponsePackage(objEDECommonRequest.IdCliente.ToString(), objEDECommonRequest.IdTienda.ToString(), objEDECommonRequest.NombreCarpeaCDR, $"{IdDocumento}.zip", respuestaEnvio.TramaZipCdr != null ? respuestaEnvio.TramaZipCdr : string.Empty); objEDERespuesta.TramaZipCdr = respuestaEnvio.TramaZipCdr; objEDERespuesta.MensajeRespuesta = respuestaEnvio.MensajeRespuesta != null ? respuestaEnvio.MensajeRespuesta : string.Format("Correcto {0}", respuestaEnvio.NombreArchivo); objEDERespuesta.Exito = true; } else { objEDERespuesta.Exito = false; objEDERespuesta.CodigoRespuesta = respuestaEnvio.CodigoRespuesta; objEDERespuesta.MensajeError = respuestaEnvio.MensajeError; } } else { objEDERespuesta.Exito = false; objEDERespuesta.MensajeError = respuestaFirmarXML.MensajeError; } } else { objEDERespuesta.Exito = false; objEDERespuesta.MensajeError = respuestaGenerarXMLRequest.MensajeError; } return(objEDERespuesta); }
private void ActualizarRespuesta(EDEEnviarDocumentoResponse objEDERespuesta) { //objEDetalleVentaRespuesta = new EDetalleVenta(); //lstEDetalleVentaRespuesta = new List<EDetalleVenta>(); }