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); }
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 }); } }
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); }
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; } } }