Exemple #1
0
        protected override void OnAppearing()
        {
            base.OnAppearing();

            //PedidoModel pedido = new PedidoModel();
            //GlobalVariables.GlobalPedido = pedido;

            //ClienteModel cliente = new ClienteModel();
            //GlobalVariables.GlobalClientePedido = cliente;

            //Invoke on Main thread, or this won't work
            Device.BeginInvokeOnMainThread(() =>
            {
                ECcodigo.Keyboard = Keyboard.Numeric;
                ECcodigo.Focus();
            });

            ECcodigo.Completed += (s, e) =>
            {
                ECqtde.Keyboard = Keyboard.Numeric;
                codigo          = ECcodigo.Text;
                ECqtde.Focus();
                lblItemSelecionado.TextColor = Xamarin.Forms.Color.FromHex("#3B5998");
                BuscaNomeProduto();
            };

            ECqtde.Completed += (s, e) =>
            {
                ECcodigo.Keyboard = Keyboard.Numeric;
                quantidade        = Convert.ToInt16(ECqtde.Text);
                InserirItem(s, e);
                ECcodigo.Text = "";
            };
        }
Exemple #2
0
        private void ECqtde_TextChanged(object sender, TextChangedEventArgs e)
        {
            string last = "";

            if (String.IsNullOrEmpty(e.NewTextValue) == false)
            {
                if (e.NewTextValue.Length > 2)
                {
                    last = e.NewTextValue.Substring(e.NewTextValue.Length - 1, 1);
                }
            }
            if (last == "\n")
            {
                ECcodigo.Focus();
            }
        }
Exemple #3
0
        private async void InserirItem(object sender, EventArgs e)
        {
            try
            {
                if (!CrossConnectivity.Current.IsConnected)
                {
                    await DisplayAlert("Alerta!", "Sem conexão com à Internet.", "OK");

                    return;
                }
                if (quantidade == 0)
                {
                    quantidade = 1;
                }
                ProdutosService      prodService = new ProdutosService();
                List <ProdutosModel> prod        = new List <ProdutosModel>();

                if (quantidade == 0)
                {
                    PedidoItemService novoItem = new PedidoItemService();
                    var answer = await DisplayAlert("Alerta!", "Deseja excluir o item" + codigo + "? ", "Sim", "Não");

                    if (answer)
                    {
                        var deletou = await novoItem.DeletaPedidoItem(GlobalVariables.GlobalPedido.IdPedido, codigo);

                        if (deletou > 0)
                        {
                            await DisplayAlert("Alerta!", "Item deletado com sucesso.", "OK");
                        }
                        else
                        {
                            await DisplayAlert("Alerta!", "Falha ao excluir item. Tente novamente.", "OK");
                        }
                    }
                    ECcodigo.Text        = "";
                    ECqtde.Text          = "";
                    lblItemDigitado.Text = "";
                    ECcodigo.Focus();
                    return;
                }
                prod = await prodService.BuscaProdutosPorCodigo(codigo, GlobalVariables.campanha);

                if (prod != null && prod.Count > 0)
                {
                    PedidoItemService novoItem = new PedidoItemService();
                    PedidoItemModel   item     = new PedidoItemModel();

                    Int32   existente = 0;
                    Boolean novo      = false;

                    item.IdPedido               = GlobalVariables.GlobalPedido.IdPedido;
                    item.IdFornecedor           = prod[0].IdFornecedor;
                    item.IdProduto              = prod[0].IdProduto;
                    item.NomeProduto            = prod[0].NomeProduto;
                    item.CodigoProduto          = prod[0].Codigo;
                    item.Quantidade             = quantidade;
                    item.ValorProduto           = prod[0].Preco;
                    item.PercentualDesconto     = (decimal)GlobalVariables.percDesconto;
                    item.PercentualDescontoDist = prod[0].DescDist;
                    item.ValorDesconto          = item.ValorProduto * (item.PercentualDesconto / 100);
                    item.ValorDescontoDist      = item.ValorProduto * (item.PercentualDescontoDist / 100);
                    item.Obs        = "";
                    item.IdCampanha = GlobalVariables.campanha;

                    existente = await novoItem.ExisteItemNoPedido(item.IdPedido, item.IdProduto);

                    if (existente > 0)
                    {
                        this.IsBusy = true;
                        item.IdItem = existente;
                        await novoItem.AtualizaPedidoItem(item);

                        ped_items.Add(item);
                        this.IsBusy = false;
                    }
                    else
                    {
                        this.IsBusy = true;
                        novo        = await novoItem.InserePedidoItem(item);

                        ped_items.Add(item);
                        this.IsBusy = false;
                    }
                    if (existente > 0 || novo == true)
                    {
                        CalculaQtdItemPedido();
                        CalculaVlrPedido();
                        CalculaDescPedido();
                        CalculaTotalPedido();

                        ECcodigo.Text        = "";
                        ECqtde.Text          = "";
                        lblItemDigitado.Text = "";
                        ECcodigo.Focus();

                        List <PedidoItemModel> items = await Item.BuscaItemPorIdPedido(GlobalVariables.GlobalPedido.IdPedido);

                        {
                            if (items.Count > 0)
                            {
                                CarregaItensPedido(items);
                                CalculaQtdItemPedido();
                                CalculaVlrPedido();
                                CalculaDescPedido();
                                CalculaTotalPedido();
                            }
                        }
                    }
                }
                else
                {
                    ECcodigo.Text        = "";
                    ECqtde.Text          = "";
                    lblItemDigitado.Text = "";
                    ECcodigo.Focus();
                }
            }
            catch (Exception)
            {
            }
        }