Ejemplo n.º 1
0
        public static async Task <SalesEstado> GrabarTransaccionPrefijo(TS_BEClienteInput Cliente, List <TS_BEArticulo> Articulos, TS_BETipoTarjetaRegistro Tipo)
        {
            SalesEstado Respuesta = SalesEstado.ErrorSistema;
            await Task.Run(() => {
                TS_SISalesClient cliente = null;
                try
                {
                    cliente = new TS_SISalesClient(Helper.ServicioSoapBinding(), new EndpointAddress(Config.Services.Sales));
                    GrabarTransaccionPrefijoCompleted(cliente.REGISTRAR_AFILIACION(cCliente: Cliente, Articulos: Articulos.ToArray(), Tipo: Tipo));
                    Respuesta = SalesEstado.EsperandoRespuesta;
                }
                catch
                {
                    Respuesta = SalesEstado.ErrorSistema;
                }
                finally
                {
                    if (cliente != null)
                    {
                        if (cliente.State == CommunicationState.Opened)
                        {
                            cliente.Close();
                        }
                    }
                }
            });

            return(Respuesta);
        }
Ejemplo n.º 2
0
        public static TS_BEMensaje SynchronizedSetSale(TerminalSIGES.Models.Lado Cara, TS_BEArticulo Transaccion)
        {
            TS_BELoadInput     cLoadingInput  = TSSalesInput.LoadInput();
            TS_BEClienteInput  cClienteInput  = TSSalesInput.InputClienteAutomaticMethod(Cara);
            TS_BECabeceraInput cCabeceraInput = TSSalesInput.InputCabeceraAutomaticMethod(Cara);

            TS_BEDetalleInput[]   cDetalleInput  = TSSalesInput.InputDetalleAutomaticMethod(Transaccion).ToArray();
            List <TS_BEPagoInput> vPagos         = TSSalesInput.InputPagosAutomaticMethod(Cara, Transaccion);
            TS_BEGrabarConfig     vConfiguracion = new TS_BEGrabarConfig()
            {
                IsNotPrint = Cara.IsImprimir
            };

            if (vPagos == null)
            {
                return(new TS_BEMensaje()
                {
                    mensaje = "EL MONTO TOTAL NO COINCIDE CON LOS PAGOS DE LA VENTA", Ok = false
                });
            }

            TS_BEPagoInput[] cPagoInput = vPagos.ToArray();

            TSSalesInput.InputMoneyAutomaticMethod(Cara, cCabeceraInput, cDetalleInput, cPagoInput);
            TS_SISalesClient client = null;

            try
            {
                client = new TS_SISalesClient(Helper.ServicioSoapBinding(), new EndpointAddress(Config.Services.Sales));
                TS_BERetornoTransaccion respuesta = client.GrabarTransaccion(cDetalleInput, cCabeceraInput, cPagoInput, cClienteInput, cLoadingInput, vConfiguracion);
                if (respuesta.Ok)
                {
                    return(new TS_BEMensaje()
                    {
                        mensaje = respuesta.Codigo, Ok = true
                    });
                }
                else
                {
                    return(new TS_BEMensaje()
                    {
                        mensaje = respuesta.Mensaje, Ok = false
                    });
                }
            }
            catch (Exception e)
            {
                if (client != null)
                {
                    if (client.State == CommunicationState.Opened)
                    {
                        client.Close();
                    }
                }
                return(new TS_BEMensaje()
                {
                    mensaje = e.Message, Ok = false
                });
            }
        }
Ejemplo n.º 3
0
        public static TS_BEClienteInput InputcCliente()
        {
            TS_BEClienteInput cCliente = new TS_BEClienteInput();

            cCliente.cdcliente      = TSCustomerApp.ClientOuput.cdcliente;
            cCliente.ruccliente     = TSCustomerApp.ClientOuput.ruccliente;
            cCliente.drcliente      = TSCustomerApp.ClientOuput.drcliente;
            cCliente.rscliente      = TSCustomerApp.ClientOuput.rscliente;
            cCliente.tipocli        = TSCustomerApp.ClientOuput.tipocli;
            cCliente.nroTarjeta     = TSCustomerApp.ClientOuput.nroTarjeta;
            cCliente.tarjAfiliacion = TSCustomerApp.ClientOuput.tarjafiliacion ?? "";
            cCliente.emcliente      = TSCustomerApp.ClientOuput.emcliente ?? "";
            cCliente.iscanje        = TSCustomerApp.IsCanje;
            return(cCliente);
        }
Ejemplo n.º 4
0
        public static async Task <SalesEstado> GrabarVenta(bool ConIgv, bool IsCanje, bool IsNoImprimir)
        {
            SalesEstado Respuesta = SalesEstado.ErrorSistema;
            await Task.Run(() => {
                TS_SISalesClient cliente = null;
                try
                {
                    TSCustomerApp.IsCanje = IsCanje;
                    cliente        = new TS_SISalesClient(Helper.ServicioSoapBinding(), new EndpointAddress(Config.Services.Sales));
                    cDetalleInput  = new TS_BEDetalleInput[] { };
                    cCabeceraInput = new TS_BECabeceraInput();
                    cClienteInput  = new TS_BEClienteInput();
                    cCabeceraInput = TSSalesInput.InputcCabecera();
                    cClienteInput  = TSSalesInput.InputcCliente();
                    cDetalleInput  = TSSalesInput.Inputcdetalle(cCabeceraInput).ToArray();
                    cLoadingInput  = new TS_BELoadInput();
                    cLoadingInput  = TSSalesInput.LoadInput();
                    vConfiguracion = new TS_BEGrabarConfig()
                    {
                        IsNotPrint = IsNoImprimir
                    };

                    if (ConIgv)
                    {
                        TSSalesInput.RecalcularIGV(cDetalleInput);
                    }

                    _GrabarTransaccionCompleted(cliente.GrabarTransaccion(cDetalleInput, cCabeceraInput, cPagoInput, cClienteInput, cLoadingInput, vConfiguracion));
                    Respuesta = SalesEstado.EsperandoRespuesta;
                }
                catch
                {
                    Respuesta = SalesEstado.ErrorSistema;
                }
                finally
                {
                    if (cliente != null)
                    {
                        if (cliente.State == CommunicationState.Opened)
                        {
                            cliente.Close();
                        }
                    }
                }
            });

            return(Respuesta);
        }
        public async void OnSave(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(Contexto.CodigoCliente))
            {
                await DisplayAlert("Aviso", "Ingrese el codigo del cliente", "Aceptar");

                return;
            }
            if (String.IsNullOrEmpty(Contexto.RazonSocial))
            {
                await DisplayAlert("Aviso", "Ingrese el nombre del cliente", "Aceptar");

                return;
            }
            Contexto.IsSave = true;
            Contexto.IsVisiblePanelEdicion = false;
            Contexto.IsBusy         = true;
            Contexto.TituloBusqueda = "Guardando registros";

            TS_BEClienteInput Cliente = new TS_BEClienteInput()
            {
                cdcliente            = Contexto.CodigoCliente,
                ruccliente           = Contexto.Ruc,
                rscliente            = Contexto.RazonSocial,
                drcliente            = Contexto.Direccion,
                estado_afiliacion    = Contexto.SelectedItem.Equals("Baja definitiva"),
                bloqueado_afiliacion = Contexto.SelectedItem.Equals("Bloqueado"),
                cdusuario            = TSSalesApp.vVendedor.cdusuario,
                tarjAfiliacion       = Contexto.Tarjeta
            };

            List <TS_BEArticulo> Articulos = Contexto.ArticulosTarjeta.ToList();

            TS_BETipoTarjetaRegistro Tipo = Contexto.SelectedItemTipoOperacion.Equals("Nueva tarjeta") ? TS_BETipoTarjetaRegistro.NUEVO_REGISTRO :
                                            Contexto.SelectedItemTipoOperacion.Equals("Edición de información") ? TS_BETipoTarjetaRegistro.ACTUALIZACION_REGISTRO :
                                            TS_BETipoTarjetaRegistro.TRASPASO_REGISTRO;

            SalesEstado resultado = SalesEstado.ErrorSistema;

            await Task.Run(() =>
            {
                TSSalesApp.GrabarTransaccionPrefijos += _GrabarTransaccionPrefijos;
                resultado = TSSalesApp.GrabarTransaccionPrefijo(Cliente, Articulos, Tipo).Result;
            });

            if (resultado != SalesEstado.EsperandoRespuesta)
            {
                switch (resultado)
                {
                case SalesEstado.ErrorInternet:
                    await DisplayAlert("Aviso", "Su dispositivo no cuenta con internet en estos momentos.", "Aceptar");

                    break;

                case SalesEstado.ErrorSistema:
                    await DisplayAlert("Aviso", "Hubo un problema de comunicación con el servidor, por favor intente después.", "Aceptar");

                    break;
                }
            }
        }