public async Task <IHttpActionResult> Guardar(VentaBE obe) { try { VentaBL oVentaBL = new VentaBL(obe.IdCliente); RespuestaBE rpta = new RespuestaBE(); if (obe.Acuenta) { rpta = oVentaBL.GuardarACuenta(obe); if (rpta.codigo == 1 || rpta.codigo == 2) { return(Ok(Models.Util.GetBodyResponseF(210, rpta.descripcion, ""))); } else { return(Ok(Models.Util.GetBodyResponseF(300, rpta.descripcion, ""))); } } else { rpta = oVentaBL.Guardar(obe); if (rpta.codigo == 2 & rpta.isFactOnline) { EDEDocumentoElectronico objEDEDocumentoElectronicoResponse; EDEEnviarDocumentoResponse objEDERespuesta; FacturacionElectronicaBL oFacturaElectronicaBL = new FacturacionElectronicaBL(); //Generar Estructura Facturacion electronica objEDEDocumentoElectronicoResponse = new EDEDocumentoElectronico(); objEDEDocumentoElectronicoResponse = oFacturaElectronicaBL.GenerarEstructuraBoletaFactura(obe); //Procesar Facturacion electronica HelperLog.PutLine("Inicio proceso Facturacion Electronica Boletas y Facturas"); objEDERespuesta = oFacturaElectronicaBL.ProcesarBoletaFactura(objEDEDocumentoElectronicoResponse); string msg = ""; string byteArchivo = ""; if (objEDERespuesta.Exito) { ImprimirComprobanteBL oImprimirComprobanteBL = new ImprimirComprobanteBL(); byteArchivo = oImprimirComprobanteBL.ImprimirVenta(obe); 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.GetBodyResponseF(200, rpta.descripcion + " " + msg, byteArchivo))); } else if (rpta.codigo == 1) { string byteArchivo = ""; ImprimirComprobanteBL oImprimirComprobanteBL = new ImprimirComprobanteBL(); byteArchivo = oImprimirComprobanteBL.ImprimirVenta(obe); return(Ok(Models.Util.GetBodyResponseF(200, rpta.descripcion, byteArchivo))); } else if (rpta.codigo == 2) { string byteArchivo = ""; ImprimirComprobanteBL oImprimirComprobanteBL = new ImprimirComprobanteBL(); byteArchivo = oImprimirComprobanteBL.ImprimirVenta(obe); return(Ok(Models.Util.GetBodyResponseF(200, rpta.descripcion, byteArchivo))); } else { return(Ok(Models.Util.GetBodyResponse(300, rpta.descripcion))); } } } catch (Exception ex) { //LogSA.GrabarLogError("SOL TR", model.user, "EditarTareas", ex); return(Ok(Models.Util.GetBodyResponse(400, ex.Message))); } }