protected async override void OnAppearing() { base.OnAppearing(); if (Cargado) { return; } Cargado = true; IndicadorDeCarga.IsVisible = false; var flag = TSSalesApp.vParemetros.flg_pideplacatb ?? false; if (TSCustomerApp.TipoComprobante.Nombre == TSSalesInput.Factura().Nombre || flag) { if (string.IsNullOrEmpty(TSSalesApp.vCabecera.nroplaca)) { await RegexExpresion.SolicitarPlaca(this.Navigation); if (string.IsNullOrEmpty(TSSalesApp.vCabecera.nroplaca) || string.IsNullOrEmpty(TSSalesApp.vCabecera.odometro)) { await Navigation.PopAsync(); return; } } } List <TS_BEPagoInput> cPago = ObtenerPago(); TSSalesApp.cPagoInput = new TS_BEPagoInput[] { }; TSSalesApp.cPagoInput = cPago.ToArray(); TSSalesApp.TipoVenta = ""; IndicadorDeCarga.IsVisible = true; SalesEstado resultado = SalesEstado.ErrorSistema; await Task.Run(delegate { TSSalesApp.SalesGrabarVenta += _SalesGrabarVenta;; resultado = TSSalesApp.GrabarVenta(false, false, false).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; } } }
private async void BtnSaveEfectivo_Clicked(object sender, EventArgs e) { if (IsEvent) { List <TS_BEPagoInput> cPagos = ObtenerPago(); if (cPagos.Count == 0) { await DisplayAlert("Aviso", "Debe seleccionar al menos un pago", "Aceptar"); return; } List <TerminalSIGES.Models.Pago> pagos = new List <TerminalSIGES.Models.Pago>(); foreach (TS_BEPagoInput item in cPagos) { pagos.Add(new TerminalSIGES.Models.Pago() { Codigo = item.cdtppago, Tipo = item.cdtppago, Referencia = item.nrotarjeta, Soles = Convert.ToDecimal(item.mtopagosol), Dolares = Convert.ToDecimal(item.mtopagodol) }); } OnReponse(pagos); await Navigation.PopAsync(); return; } CalcularTotales(); var flag = TSSalesApp.vParemetros.flg_pideplacatb ?? false; if (TSCustomerApp.TipoComprobante.Nombre == TSSalesInput.Factura().Nombre || flag) { flagPlaca = true; string result = await RegexExpresion.SolicitarPlaca(this.Navigation); if (string.IsNullOrEmpty(TSSalesApp.vCabecera.nroplaca) || string.IsNullOrEmpty(TSSalesApp.vCabecera.odometro)) { await DisplayAlert("Aviso", "Ingrese placa y odómetro", "ok"); return; } } List <TS_BEPagoInput> cPago = ObtenerPago(); TSSalesApp.cPagoInput = new TS_BEPagoInput[] { }; if (cPago == null) { //await DisplayAlert("Aviso", "Por favor, ingresar el monto pagado", "Aceptar"); return; } TSSalesApp.cPagoInput = cPago.ToArray(); if (cPago.Count <= 0) { await DisplayAlert("Aviso", "Por favor, ingresar el monto pagado", "Aceptar"); return; } if (TSSalesApp.vCabecera.mtototal > TSSalesApp.vCabecera.mtorecaudo) { await DisplayAlert("Aviso", "Por favor, falta completar el monto a pagar", "Aceptar"); return; } TSSalesApp.TipoVenta = ""; busyindicator.IsVisible = true; ToolBarItems(false); SalesEstado resultado = SalesEstado.ErrorSistema; await Task.Run(() => { TSSalesApp.SalesGrabarVenta += _SalesGrabarVenta;; resultado = TSSalesApp.GrabarVenta(Convert.ToBoolean(this.ConIgv.IsChecked ?? false), false, false).Result; }); if (resultado != SalesEstado.EsperandoRespuesta) { busyindicator.IsVisible = false; ToolBarItems(true); 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; } } }