public IHttpActionResult GetAnularNC(string usuario, int idCliente, int idVenta) { EDEDocumentoElectronico objEDEDocumentoElectronicoResponse; EDEEnviarDocumentoResponse objEDERespuesta; FacturacionElectronicaBL oFacturaElectronicaBL = new FacturacionElectronicaBL(); try { VentaBL oVentaBL = new VentaBL(idCliente); RespuestaBE rpta = new RespuestaBE(); VentaBE obe = new VentaBE(); rpta = oVentaBL.AnularNC(usuario, idCliente, idVenta, out obe); if (rpta.codigo == 1 & rpta.isFactOnline) { //Generar Estructura Nota de Crédito objEDEDocumentoElectronicoResponse = new EDEDocumentoElectronico(); objEDEDocumentoElectronicoResponse = oFacturaElectronicaBL.GenerarEstructuraNotaCredito(obe); //Procesar Nota de Crédito HelperLog.PutLine("Inicio proceso Facturacion Electronica Nota de Crédito"); objEDERespuesta = oFacturaElectronicaBL.ProcesarNotaCredito(objEDEDocumentoElectronicoResponse); string msg = ""; if (objEDERespuesta.Exito) { msg = "Se envío a SUNAT Correctamente."; if (objEDERespuesta.Procesado) { HelperLog.PutLine(string.Format("Se han actualizado el registro.")); } else { HelperLog.PutLine(string.Format("No existen registros para actualizar.")); } } else { msg = "Ocurrío un error al enviar a SUNAT."; HelperLog.PutLineError(string.Format(string.Format("Se ha generado el siguiente error: {0}", objEDERespuesta.MensajeError))); } //Actualizar respuesta ActualizarRespuesta(objEDERespuesta); return(Ok(Models.Util.GetBodyResponse(200, rpta.descripcion + " " + msg))); } else if (rpta.codigo == 1) { return(Ok(Models.Util.GetBodyResponse(200, rpta.descripcion))); } else { return(Ok(Models.Util.GetBodyResponse(300, "Ocurrío un error inesperado."))); } } catch (Exception ex) { /*LogSA.GrabarLogError("SOL TR", user, "GetListarOrdOtrs", ex);*/ return(Ok(Models.Util.GetBodyResponse(400, ex.Message))); } }