private void LoadDocumentos() { TSSalesApp.vTipoDocuments = new ObservableCollection <TipoComprobate> { new TipoComprobate() { Nombre = TSSalesInput.Boleta().Nombre, Nro = TSSalesInput.Boleta().Nro }, new TipoComprobate() { Nombre = TSSalesInput.Factura().Nombre, Nro = TSSalesInput.Factura().Nro }, new TipoComprobate() { Nombre = TSSalesInput.NotaDeDespacho().Nombre, Nro = TSSalesInput.NotaDeDespacho().Nro }, new TipoComprobate() { Nombre = TSSalesInput.Serafin().Nombre, Nro = TSSalesInput.Serafin().Nro }, }; }
private void _SalesCorrelativo(TSSales respuesta) { TSSalesApp.SalesCorrelativo -= _SalesCorrelativo; Device.BeginInvokeOnMainThread(async() => { busyindicator.IsVisible = false; if (respuesta.EstadoRespuesta == SalesEstado.InformacionNoObtenida) { await DisplayAlert("Aviso", respuesta.vSales.Mensaje, "Aceptar"); return; } if (respuesta.EstadoRespuesta == SalesEstado.ErrorSistema) { await DisplayAlert("Aviso", "Hubo un problema en la comunicación con el servidor, por favor intente después.", "Aceptar"); return; } if (respuesta.EstadoRespuesta == SalesEstado.InformacionObtenida) { if (TSCustomerApp.TipoComprobante.Nombre == TSSalesInput.Boleta().Nombre) { lblNroComprobante.Text = respuesta.vCorrelativo.boleta; TSSalesApp.Correlativo = respuesta.vCorrelativo.boleta; } if (TSCustomerApp.TipoComprobante.Nombre == TSSalesInput.Factura().Nombre) { lblNroComprobante.Text = respuesta.vCorrelativo.factura; TSSalesApp.Correlativo = respuesta.vCorrelativo.factura; } } }); }
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; } } }
private void BtnSave_Clicked(object sender, EventArgs e) { /** INICIO DE VALIDACIONES DE TARJETAS DE ACUMULACION DE PUNTOS **/ if ((this.txtTarjetaAfiliacion.Text ?? "").Length > 0) { if (TSCustomerApp.vTarjetasBuscadas.Count == 0) { DisplayAlert("Aviso", "Debe buscar la tarjeta seleccionada", "Aceptar"); return; } else { foreach (string tarjeta in TSCustomerApp.vTarjetasBloqueadas) { if (tarjeta.Equals(txtTarjetaAfiliacion.Text)) { DisplayAlert("Aviso", "La tarjeta descrita en la busqueda esta bloqueada", "Aceptar"); return; } } bool isbuscado = false; foreach (string tarjeta in TSCustomerApp.vTarjetasBuscadas) { if ((tarjeta ?? "").Trim().Equals((txtTarjetaAfiliacion.Text ?? "").Trim())) { isbuscado = true; } } if (isbuscado == false) { DisplayAlert("Aviso", "Debe buscar la tarjeta descrita", "Aceptar"); return; } } } /**FIN VALIDACIONES DE TARJETAS DE PUNTOS**/ /** INICIO DE VALIDACIONES DE TIPO DE DOCUMENTO**/ if ((this.txtCodigo.Text ?? "").Trim().Length == 11 || (this.txtRuc.Text ?? "").Trim().Length == 11) { TS_BEMensaje validacion = validateFactura(); if (validacion.Ok) { TSCustomerApp.TipoComprobante = TSSalesInput.Factura(); } else { DisplayAlert("Aviso", validacion.mensaje, "Aceptar"); return; } } else if ((this.txtCodigo.Text ?? "").Trim().Length != 11 && (this.txtRuc.Text ?? "").Trim().Length != 11) { TS_BEMensaje validacion = validateBoleta(); if (validacion.Ok) { TSCustomerApp.TipoComprobante = TSSalesInput.Boleta(); } else { DisplayAlert("Aviso", validacion.mensaje, "Aceptar"); return; } } /** FIN DE VALIDACIONES DE TIPO DE DOCUMENTO **/ /** INICIO DE VALIDACIONES DE TARJETA CREDITO EN CLIENTES **/ if (TSCustomerApp.vCodigoBloqueado.Count > 0) { foreach (string tarjeta in TSCustomerApp.vCodigoBloqueado) { if (tarjeta.Equals((this.txtCodigo.Text ?? "").Trim())) { DisplayAlert("Aviso", "No puede utilizar una tarjeta credito en pagos al contado", "Aceptar"); return; } } } var varVerificaCodigo = (txtCodigo.Text ?? "").Trim(); if (varVerificaCodigo.Length > 0) { string creditoCorp = (TSSalesApp.vParemetros.prefcredcorp ?? "").Trim(); string creditoLocal = (TSSalesApp.vParemetros.prefcredlocal ?? "").Trim(); string creditoFlot = (TSSalesApp.vParemetros.prefflotlocal ?? "").Trim(); if (varVerificaCodigo.Length >= creditoCorp.Length) { if (varVerificaCodigo.Substring(0, creditoCorp.Length).Equals(creditoCorp)) { DisplayAlert("Aviso", "No puede pasar una tarjeta coorporativa en ventas al contado", "Aceptar"); return; } } if (varVerificaCodigo.Length >= creditoLocal.Length) { if (varVerificaCodigo.Substring(0, creditoLocal.Length).Equals(creditoLocal)) { DisplayAlert("Aviso", "No puede pasar una tarjeta de credito local en ventas al contado", "Aceptar"); return; } } if (varVerificaCodigo.Length >= creditoFlot.Length) { if (varVerificaCodigo.Substring(0, creditoFlot.Length).Equals(creditoFlot)) { DisplayAlert("Aviso", "No puede pasar una tarjeta de flota en ventas al contado", "Aceptar"); return; } } } /** FIN DE VALIDACIONES DE TARJETA CREDITO EN CLIENTES **/ TSCustomerApp.ClientOuput.rscliente = this.txtRscliente.Text; TSCustomerApp.ClientOuput.drcliente = this.txtDireccion.Text; TSCustomerApp.ClientOuput.ruccliente = this.txtRuc.Text; TSCustomerApp.ClientOuput.emcliente = this.txtEmail.Text; TSCustomerApp.ClientOuput.cdcliente = this.txtCodigo.Text; TSCustomerApp.ClientOuput.tarjafiliacion = this.txtTarjetaAfiliacion.Text; TSCustomerApp.ClientOuput.puntos = (this.txtTarjetaAfiliacion.Text ?? "").Equals((cliente.tarjafiliacion ?? "").Trim()) ? cliente.puntos : 0; TSCustomerApp.ClientOuput.valoracumula = (this.txtTarjetaAfiliacion.Text ?? "").Equals((cliente.tarjafiliacion ?? "").Trim()) ? cliente.valoracumula : 0; TSCustomerApp.ClientOuput.isafiliacion = (this.txtTarjetaAfiliacion.Text ?? "").Equals((cliente.tarjafiliacion ?? "").Trim()); TSSalesApp.vCabecera.nroplaca = this.txtPlaca.Text; TSCustomerApp.FlagSearch = true; Navigation.PopAsync(); }