Ejemplo n.º 1
0
        // Função responsável por escanear o produto
        public async void Scanner()
        {
            var ScannerPage = new ZXingScannerPage();

            ScannerPage.OnScanResult += (result) => {
                // Parar de escanear
                ScannerPage.IsScanning = false;

                // Alert com o código escaneado
                Device.BeginInvokeOnMainThread(() => {
                    Navigation.PopAsync();
                    // Recebe a resposta da requisição
                    var respostaProduto = compraService.InsereProdutoVenda(result.Text);

                    if (respostaProduto.Tipo == "notOk")
                    {
                        // Exibe o alerta
                        DisplayAlert(
                            "Ops...",
                            "Produto não cadastrado, verifique com repositor ou caixa!",
                            "Aceitar"
                            );
                        // Quebra a função
                        return;
                    }
                    else if (respostaProduto.Tipo == "ok")
                    {
                        // Recupera os Registros
                        var arrayProdutos = respostaProduto.Registros;

                        // Cria o list de Compra
                        List <CompraModel> compra = new List <CompraModel>();

                        // Percorre o array
                        foreach (var produto in arrayProdutos)
                        {
                            // Adiciona os dados do array no List
                            compra.Add(new CompraModel()
                            {
                                IdCompra      = produto.IdCompra,
                                Id            = produto.Id,
                                Qtde          = produto.Qtde,
                                Descricao     = produto.Descricao,
                                ValorUnitario = produto.ValorUnitario,
                                ValorTotal    = produto.ValorTotal,
                                ValorCompra   = produto.ValorCompra
                            });
                        }

                        // Atualiza os registros do list
                        listaCompras.ItemsSource = compra;

                        // Recupera o valor total da compra
                        ValorCompra.Text = arrayProdutos[0].ValorCompra.ToString("C");
                    }
                });
            };

            await Navigation.PushAsync(ScannerPage);
        }
Ejemplo n.º 2
0
        // Função responsável por escanear o produto
        public async void Scanner()
        {
            var ScannerPage = new ZXingScannerPage();

            ScannerPage.OnScanResult += (result) => {
                // Parar de escanear
                ScannerPage.IsScanning = false;

                // Alert com o código escaneado
                Device.BeginInvokeOnMainThread(() => {
                    Navigation.PopAsync();
                    // Recebe a resposta da requisição
                    var respostaProduto = compraService.InsereProdutoVenda(result.Text);
                    // Inicializa a variavel
                    bool continuaCompra = false;
                    try
                    {
                        // Verifica a resposta da requisição
                        if (respostaProduto.Tipo != null && respostaProduto.Tipo == "notOk")
                        {
                            // Exibe o alerta
                            DisplayAlert(
                                "Ops...",
                                "Produto não cadastrado, verifique com repositor ou caixa!",
                                "Aceitar"
                                );
                            return;
                        }
                    } catch (Exception ex)
                    {
                        // Atualiza a variavel para continuar com a compra
                        continuaCompra = true;
                    }

                    // Verifica o resultado
                    if (continuaCompra)
                    {
                        // Popula o list com a resposta do servidor
                        listaCompras.ItemsSource = respostaProduto;

                        // Transforma o list em array
                        var arrayProdutos = respostaProduto.ToArray();
                        ValorCompra.Text  = arrayProdutos[0].ValorCompra.ToString("C");
                    }
                });
            };

            await Navigation.PushAsync(ScannerPage);
        }