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;
                    }
                }
            });
        }
        private void _SalesGrabarVenta(TSSales respuesta)
        {
            TSSalesApp.SalesGrabarVenta -= _SalesGrabarVenta;
            Device.BeginInvokeOnMainThread(async() =>
            {
                busyindicator.IsVisible = false;

                if (respuesta.EstadoRespuesta == SalesEstado.VentaNoRegistrada)
                {
                    ToolBarItems(true);
                    await DisplayAlert("Aviso", "No se proceso la venta, intente nuevamente.\nIncidencias detectadas: \n" + (respuesta.Respuesta ?? "") + "", "Aceptar");
                    return;
                }
                if (respuesta.EstadoRespuesta == SalesEstado.ErrorSistema)
                {
                    ToolBarItems(true);
                    await DisplayAlert("Aviso", "Hubo un problema en la comunicación con el servidor, por favor intente después.", "Aceptar");
                    return;
                }
                if (respuesta.EstadoRespuesta == SalesEstado.VentaRegistrada)
                {
                    TSSalesApp.vCabecera.nroplaca = "";
                    TSSalesApp.vCabecera.odometro = "";
                    App.Current.MainPage          = new NavigationPage(new SemiAutomatic());
                    return;
                }
            });
        }
Пример #3
0
 private void _ObtenerArticulosPrefijos(TSSales respuesta)
 {
     TSSalesApp.ObtenerArticulosPrefijos -= _ObtenerArticulosPrefijos;
     Device.BeginInvokeOnMainThread(async() =>
     {
         if (respuesta.EstadoRespuesta == SalesEstado.ErrorSistema)
         {
             await DisplayAlert("Aviso", "Hubo un problema de comunicación con el servidor, por favor intente después.", "Aceptar");
         }
         if (respuesta.EstadoRespuesta == SalesEstado.InformacionNoObtenida)
         {
             await DisplayAlert("Aviso", respuesta.vMensaje.mensaje, "Aceptar");
         }
         if (respuesta.EstadoRespuesta == SalesEstado.InformacionObtenida)
         {
             if (IsEvent)
             {
                 Respuesta(respuesta.vArticulosPrefijo.Articulos.ToList());
             }
             else
             {
                 respuesta.vArticulosPrefijo.Articulos.ToList().ForEach((Item) =>
                 {
                     this.Contexto.Articulos.Add(Item);
                 });
             }
         }
     });
 }
Пример #4
0
 private void _RegistrarLado(TSSales respuesta)
 {
     TSSalesApp.RegistrarLado -= _RegistrarLado;
     Device.BeginInvokeOnMainThread(async() =>
     {
         if (respuesta.EstadoRespuesta != SalesEstado.InformacionObtenida)
         {
             await DisplayAlert("Aviso", "Ocurrió un error al cargar Nro de Pos", "Aceptar");
             await Navigation.PopAsync();
             return;
         }
         if (respuesta.EstadoRespuesta == SalesEstado.InformacionObtenida)
         {
             await DisplayAlert("Aviso", "Se guardó correctamente los cambios", "Aceptar");
             await Navigation.PopAsync();
             Guardado();
         }
         if (respuesta.EstadoRespuesta == SalesEstado.InformacionNoObtenida)
         {
             await DisplayAlert("Aviso", respuesta.vMensaje.mensaje, "Aceptar");
             await Navigation.PopAsync();
             return;
         }
     });
 }
 private void _GrabarTransaccionPrefijos(TSSales respuesta)
 {
     TSSalesApp.GrabarTransaccionPrefijos -= _GrabarTransaccionPrefijos;
     Device.BeginInvokeOnMainThread(async() =>
     {
         Contexto.IsSave = false;
         Contexto.IsVisiblePanelEdicion = true;
         Contexto.IsBusy = false;
         if (respuesta.EstadoRespuesta == SalesEstado.ErrorSistema)
         {
             await DisplayAlert("Aviso", "Hubo un problema de comunicación con el servidor, por favor intente después.", "Aceptar");
             return;
         }
         if (respuesta.EstadoRespuesta == SalesEstado.InformacionNoObtenida)
         {
             await DisplayAlert("Aviso", "!Ups, tenemos un problema" + respuesta.vMensaje.mensaje, "Aceptar");
             return;
         }
         else
         {
             await DisplayAlert("Aviso", "Se realizaron las solicitudes correctamente", "Aceptar");
             ClearData(null, null);
             return;
         }
     });
 }
Пример #6
0
 private void _LoadArticuloPrecio(TSSales respuesta)
 {
     Device.BeginInvokeOnMainThread(async() =>
     {
         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)
         {
             foreach (var item in respuesta.vArticulos)
             {
                 item.dsarticulo  = item.dsarticulo == null ? "" : item.dsarticulo.Trim();
                 item.dsarticulo1 = item.dsarticulo1 == null ? "" : item.dsarticulo1.Trim();
             }
             InsertItems(respuesta.vArticulos);
         }
     });
 }
        private void TSSalesApp_EliminarDocumentos(TSSales respuesta)
        {
            TSSalesApp.EliminarDocumentos -= TSSalesApp_EliminarDocumentos;
            Device.BeginInvokeOnMainThread(async() =>
            {
                busyindicator.IsVisible = false;
                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.RegistroEliminado)
                {
                    getDocuments();
                    await DisplayAlert("Aviso", "Se anuló satisfactoriamente el documento.", "Aceptar");

                    return;
                }
                if (respuesta.EstadoRespuesta == SalesEstado.RegistroNoEliminado)
                {
                    await DisplayAlert("Aviso", "Ocurrio un problema al eliminar.", "Aceptar");
                    return;
                }
            });
        }
 private void _ObtenerPrefijos(TSSales respuesta)
 {
     TSSalesApp.ObtenerPrefijos -= _ObtenerPrefijos;
     Device.BeginInvokeOnMainThread(async() =>
     {
         if (respuesta.EstadoRespuesta == SalesEstado.ErrorSistema)
         {
             await DisplayAlert("Aviso", "Su dispositivo no cuenta con internet en estos momentos.", "Aceptar");
         }
         else
         {
             respuesta.vPrefijos.ToList().ForEach((Item) => { Contexto.Prefijos.Add(Item); });
         }
     });
 }
 private void _EliminarLado(TSSales respuesta)
 {
     TSSalesApp.EliminarLado -= _EliminarLado;
     Device.BeginInvokeOnMainThread(async() =>
     {
         if (respuesta.EstadoRespuesta == SalesEstado.InformacionObtenida)
         {
             App.Current.MainPage = new NavigationPage(new ReporteLados());
         }
         if (respuesta.EstadoRespuesta != SalesEstado.InformacionObtenida)
         {
             await DisplayAlert("Aviso", "Hubo un error al procesar la transacción, por favor intente mas tarde", "Aceptar");
         }
         contexto.IsSearch   = false;
         contexto.IsDeleting = false;
     });
 }
        private void _ObtenerLados(TSSales respuesta)
        {
            TSSalesApp.ObtenerLados -= _ObtenerLados;
            Device.BeginInvokeOnMainThread(async() =>
            {
                if (respuesta.EstadoRespuesta == SalesEstado.InformacionObtenida)
                {
                    contexto.Elementos.Clear();

                    foreach (TS_BELado lado in respuesta.vLados.cLados)
                    {
                        bool inserted = false;
                        foreach (ItemModel model in contexto.Elementos)
                        {
                            if (model.nropos.Equals(lado.nropos))
                            {
                                inserted = true;
                            }
                        }
                        if (inserted == false)
                        {
                            contexto.Elementos.Add(new ItemModel(lado.nropos));
                        }
                    }
                    foreach (TS_BELado lado in respuesta.vLados.cLados)
                    {
                        foreach (ItemModel model in contexto.Elementos)
                        {
                            if (model.nropos.Equals(lado.nropos))
                            {
                                model.Items.Add(new Lado(lado.lado));
                            }
                        }
                    }
                }
                if (respuesta.EstadoRespuesta != SalesEstado.InformacionObtenida)
                {
                    await DisplayAlert("Aviso", "Hubo un error al obtener la información, por favor intente mas tarde", "Aceptar");
                }
                contexto.IsSearch = false;
            });
        }
Пример #11
0
        private void _SalesDetalle(TSSales respuesta)
        {
            TSSalesApp.SalesDetalle -= _SalesDetalle;
            Device.BeginInvokeOnMainThread(async() =>
            {
                if (respuesta.EstadoRespuesta == SalesEstado.ErrorSistema || respuesta.EstadoRespuesta == SalesEstado.InformacionNoObtenida)
                {
                    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)
                {
                    foreach (var item in respuesta.vTransaccion.cDetalleOutPut)
                    {
                        Contexto.Productos.Add(item);
                    }
                }
            });
        }
Пример #12
0
 private void _SalesCaras(TSSales respuesta)
 {
     TSSalesApp.SalesCaras -= _SalesCaras;
     Device.BeginInvokeOnMainThread(async() =>
     {
         if (respuesta.EstadoRespuesta == SalesEstado.ErrorSistema || respuesta.EstadoRespuesta == SalesEstado.InformacionNoObtenida)
         {
             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 (respuesta.vCaras == null)
             {
                 return;
             }
             TSSalesApp.AutomaticContext.Productos.Clear();
             foreach (TS_BECara cara in respuesta.vCaras)
             {
                 TSSalesApp.AutomaticContext.Productos.Add(new Lado()
                 {
                     Cara               = cara.cara,
                     Codigo             = "",
                     Ruc                = "",
                     RazonSocial        = "",
                     Correo             = "",
                     Direccion          = "",
                     Placa              = "",
                     Odometro           = "",
                     Chofer             = "",
                     Tarjeta_afiliacion = "",
                     Documento          = EDocumento.BoletaFactura,
                     Pago               = "EFECTIVO",
                     Mensaje            = "",
                     Pagos              = new ObservableCollection <Pago>(),
                     Estado             = new Estado(cara.cara, false)
                 });
             }
         }
     });
 }
Пример #13
0
 private void TSPrintApp_ObtenerNroPost(TSSales respuesta)
 {
     TSSalesApp.ObtenerNroPOS -= TSPrintApp_ObtenerNroPost;
     Device.BeginInvokeOnMainThread(async() =>
     {
         if (respuesta.EstadoRespuesta != SalesEstado.InformacionObtenida)
         {
             await DisplayAlert("Aviso", "Ocurrió un error al cargar Nro de Pos", "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)
         {
             cboLado.DataSource = respuesta.vNroPos;
             return;
         }
     });
 }
Пример #14
0
 private void TSSalesApp_SalesVerificarPromocion(TSSales respuesta)
 {
     TSSalesApp.SalesVerificarPromocion -= TSSalesApp_SalesVerificarPromocion;
     Device.BeginInvokeOnMainThread(async() =>
     {
         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)
         {
             TSSalesApp.vArticuloSeleccionado.precio      = respuesta.vPromotion.precio;
             TSSalesApp.vArticuloSeleccionado.precio_orig = respuesta.vPromotion.precio_orig;
             TerminarAgregarArticulo();
         }
     });
 }
 private void _SalesGrabarVenta(TSSales respuesta)
 {
     TSSalesApp.SalesGrabarVenta -= _SalesGrabarVenta;
     Device.BeginInvokeOnMainThread(async() =>
     {
         if (respuesta.EstadoRespuesta == SalesEstado.VentaNoRegistrada)
         {
             await DisplayAlert("Aviso", "No se proceso la venta, intente nuevamente.", "Aceptar");
             App.Current.MainPage = new NavigationPage(new SemiAutomatic());
             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.VentaRegistrada)
         {
             App.Current.MainPage = new NavigationPage(new SemiAutomatic());
             return;
         }
     });
 }
        private void _SalesCaras(TSSales respuesta)
        {
            TSSalesApp.SalesCaras -= _SalesCaras;
            Device.BeginInvokeOnMainThread(async() =>
            {
                if (respuesta.EstadoRespuesta == SalesEstado.ErrorSistema || respuesta.EstadoRespuesta == SalesEstado.InformacionNoObtenida)
                {
                    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)
                {
                    TSSalesApp.vCaras = new ObservableCollection <TS_BECara>();
                    if (respuesta.vCaras == null)
                    {
                        return;
                    }
                    foreach (TS_BECara cara in respuesta.vCaras)
                    {
                        TSSalesApp.vCaras.Add(cara);
                        Label _label = new Label
                        {
                            Text                    = cara.cara,
                            TextColor               = Color.White,
                            FontSize                = 36,
                            ClassId                 = "_label",
                            BackgroundColor         = Color.Transparent,
                            HorizontalTextAlignment = TextAlignment.Center,
                            VerticalTextAlignment   = TextAlignment.Center,
                            FontFamily              = Estilos.FuenteBold,
                        };

                        Image _image = new Image {
                            Source = "lado.png"
                        };

                        _label.LineBreakMode = LineBreakMode.WordWrap;

                        AbsoluteLayout _absoluteLayout = new AbsoluteLayout
                        {
                            WidthRequest      = 200,
                            HeightRequest     = 70,
                            VerticalOptions   = LayoutOptions.CenterAndExpand,
                            HorizontalOptions = LayoutOptions.CenterAndExpand,
                            Children          =
                            {
                                _label,
                                _image
                            }
                        };
                        AbsoluteLayout.SetLayoutBounds(_label, new Xamarin.Forms.Rectangle(.75, .35, 100, 70));
                        AbsoluteLayout.SetLayoutFlags(_label, AbsoluteLayoutFlags.PositionProportional);
                        AbsoluteLayout.SetLayoutBounds(_image, new Xamarin.Forms.Rectangle(.15, .35, 100, 45));
                        AbsoluteLayout.SetLayoutFlags(_image, AbsoluteLayoutFlags.PositionProportional);

                        SfButton sfButton = new SfButton()
                        {
                            HeightRequest     = 70,
                            WidthRequest      = 200,
                            CornerRadius      = 5,
                            HorizontalOptions = LayoutOptions.Center,
                            VerticalOptions   = LayoutOptions.Center,
                            BackgroundColor   = Color.FromHex("#005797"),
                            BorderColor       = Color.FromHex("#005797"),
                            Content           = new StackLayout()
                            {
                                Orientation = StackOrientation.Horizontal,
                                Children    =
                                {
                                    _absoluteLayout
                                }
                            }
                        };

                        Binding binding = new Binding("IsBusy");
                        binding.Source  = btnCaraContext;
                        sfButton.SetBinding(SfButton.IsEnabledProperty, binding);
                        sfButton.Clicked += SegControlCara_SelectionChanged;
                        stCaras.Children.Add(sfButton);
                    }
                }
            });
        }
        private void _SalesDetalle(TSSales respuesta)
        {
            TSSalesApp.SalesDetalle -= _SalesDetalle;
            Device.BeginInvokeOnMainThread(async() =>
            {
                busyindicator.IsVisible = false;

                if (respuesta.EstadoRespuesta == SalesEstado.InformacionNoObtenida)
                {
                    btnCaraContext.IsBusy = true;
                    // segmentedControlCara.IsEnabled = true;
                    await DisplayAlert("Aviso", "No hay transaccion disponible", "Aceptar");
                    return;
                }
                if (respuesta.EstadoRespuesta == SalesEstado.ErrorSistema)
                {
                    btnCaraContext.IsBusy = true;
                    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)
                {
                    btnAutomatic.IsEnabled = false;
                    btnCredito.IsEnabled   = false;
                    btnCliente.IsEnabled   = false;
                    var vDetalleOutput     = respuesta.vTransaccion.cDetalleOutPut;
                    if (vDetalleOutput.Length == 1)
                    {
                        var detal = new TS_BEArticulo()
                        {
                            item              = vDetalleOutput[0].item,
                            dsarticulo        = vDetalleOutput[0].dsarticulo1 != null ? vDetalleOutput[0].dsarticulo1.Trim() : vDetalleOutput[0].dsarticulo1,
                            precio            = vDetalleOutput[0].precio,
                            cantidad          = vDetalleOutput[0].cantidad,
                            cdarticulo        = vDetalleOutput[0].cdarticulo,
                            cara              = vDetalleOutput[0].cara,
                            hora              = vDetalleOutput[0].hora,
                            subtotal          = vDetalleOutput[0].impuesto > 0 ? vDetalleOutput[0].subtotal : vDetalleOutput[0].total,
                            tipo              = vDetalleOutput[0].tipo,
                            mtoimpuesto       = vDetalleOutput[0].impuesto > 0 ? vDetalleOutput[0].mtoimpuesto : 0,
                            total             = vDetalleOutput[0].total,
                            nrogasboy         = vDetalleOutput[0].nrogasboy.Trim(),
                            cdarticulosunat   = vDetalleOutput[0].cdarticulosunat,
                            mtodscto          = vDetalleOutput[0].mtodscto,
                            cdunimed          = vDetalleOutput[0].cdunimed,
                            precio_orig       = vDetalleOutput[0].precio_orig,
                            redondea_indecopi = vDetalleOutput[0].redondea_indecopi,
                            tpformula         = vDetalleOutput[0].tpformula,
                            impuesto          = vDetalleOutput[0].impuesto,
                            moverstock        = vDetalleOutput[0].moverstock,
                            costo             = vDetalleOutput[0].costo,
                            trfgratuita       = vDetalleOutput[0].trfgratuita,
                            total_display     = vDetalleOutput[0].total_display,
                            impuesto_plastico = vDetalleOutput[0].impuesto_plastico,
                            valorconversion   = vDetalleOutput[0].valorconversion,
                            cdmedequiv        = vDetalleOutput[0].cdmedequiv,
                            tpconversion      = vDetalleOutput[0].tpconversion
                        };

                        var index        = TSSalesApp.Detalles.Count();
                        var indexDisplay = TSSalesApp.DetallesDisplay.Count();
                        TSSalesApp.Detalles.Insert(index, detal);
                        TSSalesApp.DetallesDisplay.Insert(indexDisplay, detal);
                        PrintTotales();
                    }
                    else
                    {
                        popupTransPendiente.IsVisible      = true;
                        transactionPendiente.ItemsSource   = respuesta.vTransaccion.cDetalleOutPut;
                        transactionPendiente.HeightRequest = transactionPendiente.HeightRequest + (respuesta.vTransaccion.cDetalleOutPut.Count() * 30);
                    }
                }
            });
        }