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