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 = ""; }; }
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(); } }
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) { } }