Esempio n. 1
0
 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;
     }
 }
Esempio n. 2
0
 public TSSales(SalesEstado resultado, TS_BECabeceraOutPut retorno)
 {
     EstadoRespuesta = resultado;
     vTransaccion    = retorno;
 }
Esempio n. 3
0
        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;
                    }
                }
            });
        }
Esempio n. 4
0
        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 **/
        }