async void NovoPedido(object sender, EventArgs e) { try { if (!CrossConnectivity.Current.IsConnected) { await DisplayAlert("Alerta!", "Sem conexão com à Internet.", "OK"); return; } if (GlobalVariables.GlobalClientePedido.IdCliente == 0) { await DisplayAlert("Alerta!", "Id do cliente inválido.", "OK"); return; } if (GlobalVariables.GlobalFuncionarioLogado.IdFuncionario == 0) { await DisplayAlert("Alerta!", "Id do vendedor inválido.", "OK"); return; } PedidoService srvPedido = new PedidoService(); PedidoModel novoPedido = new PedidoModel(); // Verifica se existe pedido em aberto novoPedido = await srvPedido.BuscaPedidoEmAbertoPorIdCliente(GlobalVariables.GlobalClientePedido.IdCliente); if (novoPedido != null && novoPedido.IdPedido > 0) { // Carrega pedido GlobalVariables.GlobalPedido = novoPedido; GlobalVariables.GlobalPedido.IdPedido = novoPedido.IdPedido; GlobalVariables.formaPagamento = novoPedido.IdPagamento; List <PedidoItemModel> items = await Item.BuscaItemPorIdPedido(novoPedido.IdPedido); if (items.Count > 0) { ped_items.Clear(); foreach (PedidoItemModel itm in items) { ped_items.Add(itm); } CarregaItensPedido(items); } CalculaQtdItemPedido(); CalculaVlrPedido(); CalculaDescPedido(); CalculaTotalPedido(); PedidoItemService srvPedidoItem = new PedidoItemService(); var descPedido = await srvPedidoItem.RetornaPercentualDescPedido(GlobalVariables.GlobalPedido.IdPedido); ECpercDesc.Text = descPedido.ToString(); CarregaPagamento(); CurrentPage = Children[1]; } else { // Insere novo pedido se não existir novoPedido.IdFilial = 1; novoPedido.IdLote = 0; novoPedido.IdCliente = GlobalVariables.GlobalClientePedido.IdCliente; novoPedido.IdFuncionario = GlobalVariables.GlobalFuncionarioLogado.IdFuncionario; novoPedido.IdPagamento = GlobalVariables.formaPagamento; novoPedido.IdStatus = 1; novoPedido.Sessao = ""; novoPedido.Parcelas = 0; novoPedido.Data = DateTime.Now.ToString("yyyyMMdd hh:MM:ss"); novoPedido.DataEmissao = novoPedido.Data; novoPedido.Itens = 0; novoPedido.ValorBruto = 0; novoPedido.ValorDesconto = 0; novoPedido.ValorDescontoDist = 0; novoPedido.ValorLiquido = 0; novoPedido.Obs = "Pedido inserido via App"; novoPedido.IdTransportadora = 1; novoPedido.DataEntrega = null; novoPedido.DescontoGeral = 0; var inseriu = await srvPedido.NovoPedido(novoPedido); if (inseriu > 0) { novoPedido = new PedidoModel(); novoPedido = await srvPedido.BuscaPedidoPorIdPedido(inseriu); // Carrega pedido GlobalVariables.GlobalPedido = novoPedido; GlobalVariables.GlobalPedido.IdPedido = novoPedido.IdPedido; CalculaQtdItemPedido(); CalculaVlrPedido(); CalculaDescPedido(); CalculaTotalPedido(); CurrentPage = Children[1]; } else { GlobalVariables.GlobalPedido = null; GlobalVariables.GlobalPedido.IdPedido = 0; } } } catch (Exception) { } }