private static void _ObtenerOpTransaccionCompleted(TS_BECabeceraOutPut Result) { if (Result == null) { SalesDetalle(new TSSales(SalesEstado.ErrorSistema)); return; } if (Result.Mensaje == null && Result.Ok == false) { SalesDetalle(new TSSales(SalesEstado.ErrorSistema)); return; } if (Result.Mensaje != null && Result.Ok == false) { CurrentResultado = new TSSales(SalesEstado.InformacionNoObtenida, Result); SalesDetalle(CurrentResultado); return; } if (Result.Ok == true) { CurrentResultado = new TSSales(SalesEstado.InformacionObtenida, Result); SalesDetalle(CurrentResultado); return; } }
public TSSales(SalesEstado resultado, TS_BECabeceraOutPut retorno) { EstadoRespuesta = resultado; vTransaccion = retorno; }
public async Task Start_Automatic(Lado Lado) { /** COMIENZA REVISION DE VENTAS PENDIENTES **/ await Task.Run(() => { if (Convert.ToBoolean(TSSalesApp.vTerminal.conexion_dispensador ?? 0) == false || Convert.ToBoolean(TSSalesApp.vParemetros.conexiondispensador ?? false) == false) { Contexto.Progreso = "CONEXION A DISPENSADOR CERRADA"; return; } string codigo = "XXXXXXXXXXX"; TS_BECabeceraOutPut vTransaccion = TSSalesApp.SynchronizedGetOPTransaction(Lado.Cara, codigo, false); if (vTransaccion.Ok) { if (vTransaccion.cDetalleOutPut.Length > 0) { List <TS_BEArticulo> Lista = new List <TS_BEArticulo>(vTransaccion.cDetalleOutPut); if (IsButtonAutomatic == false) { Lista.RemoveAt(Lista.Count - 1); } int Progreso = 0; foreach (TS_BEArticulo Producto in Lista) { Contexto.Mensaje = "ENVIANDO VENTA"; Contexto.Progreso = "PROCESANDO CARA: " + Lado.Cara + "\nPROCESADO " + Progreso + " de " + Lista.Count; var Venta = new TS_BEArticulo() { item = Producto.item, dsarticulo = (Producto.dsarticulo1 ?? "").Trim(), precio = Producto.precio, cantidad = Producto.cantidad, cdarticulo = Producto.cdarticulo, cara = Producto.cara, hora = Producto.hora, subtotal = Producto.subtotal, tipo = Producto.tipo, mtoimpuesto = Producto.mtoimpuesto, total = Producto.total, nrogasboy = Producto.nrogasboy.Trim(), cdarticulosunat = Producto.cdarticulosunat, mtodscto = Producto.mtodscto, cdunimed = Producto.cdunimed, precio_orig = Producto.precio_orig, redondea_indecopi = Producto.redondea_indecopi, tpformula = Producto.tpformula, impuesto = Producto.impuesto, moverstock = Producto.moverstock, costo = Producto.costo, trfgratuita = Producto.trfgratuita, total_display = Producto.total_display, impuesto_plastico = Producto.impuesto_plastico, valorconversion = Producto.valorconversion, cdmedequiv = Producto.cdmedequiv, tpconversion = Producto.tpconversion }; TS_BEMensaje respuesta = TSSalesApp.SynchronizedSetSale(Lado, Venta); if (respuesta.Ok) { try { string[] mensaje = respuesta.mensaje.Split('|'); BindingDocument Item = new BindingDocument() { Documento = mensaje[0], Estado = mensaje[1], Respuesta = mensaje[2] }; Device.BeginInvokeOnMainThread(() => { Contexto.Documentos.Add(Item); }); } catch (Exception ex) { } } Progreso++; } } } else { /** * 1 ERROR GENERAL * 2 ERROR DESCUENTOS * 3 ERROR TABLAS DBF * 4 SIN TRANSACCIONES * 5 SIN CONEXION DISPENSADO * 6 TERMINAL SIN CONEXION DISPENSADOR **/ if (vTransaccion.Estado == 4) { Contexto.Progreso = "SIN TRANSACCIONES"; return; } } }); }
public async Task Start_Automatic(TerminalSIGES.Models.Lado Lado) { /** COMIENZA REVISION DE VENTAS PENDIENTES **/ await Task.Run(() => { if (Convert.ToBoolean(TSSalesApp.vTerminal.conexion_dispensador ?? 0) == false || Convert.ToBoolean(TSSalesApp.vParemetros.conexiondispensador ?? false) == false) { Lado.Mensaje = "CONEXION A DISPENSADOR CERRADA"; return; } string codigo = Lado.Documento == TerminalSIGES.Models.EDocumento.NotaDespacho ? Lado.Tarjeta : Lado.Documento == TerminalSIGES.Models.EDocumento.TranferenciaGratuita ? "XXXXXXXXXXX" : Lado.Documento == TerminalSIGES.Models.EDocumento.Serafin ? "XXXXXXXXXXX" : Lado.Codigo; TS_BECabeceraOutPut vTransaccion = TSSalesApp.SynchronizedGetOPTransaction(Lado.Cara, codigo, true); if (vTransaccion.Ok) { if (vTransaccion.cDetalleOutPut.Length > 0) { Lado.Mensaje = "ENVIANDO VENTA"; var Venta = new TS_BEArticulo() { item = vTransaccion.cDetalleOutPut[0].item, dsarticulo = (vTransaccion.cDetalleOutPut[0].dsarticulo1 ?? "").Trim(), precio = vTransaccion.cDetalleOutPut[0].precio, cantidad = vTransaccion.cDetalleOutPut[0].cantidad, cdarticulo = vTransaccion.cDetalleOutPut[0].cdarticulo, cara = vTransaccion.cDetalleOutPut[0].cara, hora = vTransaccion.cDetalleOutPut[0].hora, subtotal = vTransaccion.cDetalleOutPut[0].subtotal, tipo = vTransaccion.cDetalleOutPut[0].tipo, mtoimpuesto = vTransaccion.cDetalleOutPut[0].mtoimpuesto, total = vTransaccion.cDetalleOutPut[0].total, nrogasboy = vTransaccion.cDetalleOutPut[0].nrogasboy.Trim(), cdarticulosunat = vTransaccion.cDetalleOutPut[0].cdarticulosunat, mtodscto = 0, cdunimed = vTransaccion.cDetalleOutPut[0].cdunimed, precio_orig = vTransaccion.cDetalleOutPut[0].precio_orig, redondea_indecopi = vTransaccion.cDetalleOutPut[0].redondea_indecopi, tpformula = vTransaccion.cDetalleOutPut[0].tpformula, impuesto = vTransaccion.cDetalleOutPut[0].impuesto, moverstock = vTransaccion.cDetalleOutPut[0].moverstock, costo = vTransaccion.cDetalleOutPut[0].costo, trfgratuita = vTransaccion.cDetalleOutPut[0].trfgratuita, total_display = vTransaccion.cDetalleOutPut[0].total_display, impuesto_plastico = vTransaccion.cDetalleOutPut[0].impuesto_plastico, valorconversion = vTransaccion.cDetalleOutPut[0].valorconversion, cdmedequiv = vTransaccion.cDetalleOutPut[0].cdmedequiv, tpconversion = vTransaccion.cDetalleOutPut[0].tpconversion }; TS_BEMensaje respuesta = TSSalesApp.SynchronizedSetSale(Lado, Venta); if (respuesta.Ok) { Lado.Codigo = ""; Lado.Ruc = ""; Lado.RazonSocial = ""; Lado.Correo = ""; Lado.Direccion = ""; Lado.Placa = ""; Lado.Odometro = ""; Lado.Chofer = ""; Lado.Tarjeta_afiliacion = ""; Lado.Pago = ""; Lado.Tarjeta = ""; Lado.Fecha_Nacimiento = null; Lado.Telefono = ""; Lado.Marca = ""; Lado.Modelo = ""; Lado.Mensaje = ""; Lado.Pago = "EFECTIVO"; Lado.Pagos.Clear(); Lado.Documento = TerminalSIGES.Models.EDocumento.BoletaFactura; } else { Lado.Estado.estado = false; Lado.Mensaje = respuesta.mensaje; } } } else { /** * 1 ERROR GENERAL * 2 ERROR DESCUENTOS * 3 ERROR TABLAS DBF * 4 SIN TRANSACCIONES * 5 SIN CONEXION DISPENSADO * 6 TERMINAL SIN CONEXION DISPENSADOR **/ if (vTransaccion.Estado == 4) { Lado.Mensaje = "SIN TRANSACCIONES"; return; } Lado.Estado.estado = false; Lado.Mensaje = vTransaccion.Mensaje; } }); /** TERMINA REVISION DE VENTAS PENDIENTES **/ }