private void ListarPedidos(bool mostrarMsgVazio) { dgPedidos.Items.Clear(); Contrato.EntradaPedido entradaPedido = new Contrato.EntradaPedido(); entradaPedido.Chave = Comum.Util.Chave; entradaPedido.UsuarioLogado = Comum.Util.UsuarioLogado.Login; entradaPedido.EmpresaLogada = Comum.Util.UsuarioLogado.Empresa; entradaPedido.Pedido = new Contrato.Pedido(); entradaPedido.Paginar = true; entradaPedido.PosicaoUltimoItem = 0; entradaPedido.CantidadeItens = Comum.Parametros.QuantidadeItensPagina; PreencherFiltro(entradaPedido.Pedido); Servico.BrasilDidaticosClient servBrasilDidaticos = new Servico.BrasilDidaticosClient(Comum.Util.RecuperarNomeEndPoint()); Contrato.RetornoPedido retPedido = servBrasilDidaticos.PedidoListar(entradaPedido); servBrasilDidaticos.Close(); if (retPedido.Codigo == Contrato.Constantes.COD_RETORNO_SUCESSO) { foreach (Contrato.Pedido c in retPedido.Pedidos) dgPedidos.Items.Add(c); } if (mostrarMsgVazio && retPedido.Codigo == Contrato.Constantes.COD_RETORNO_VAZIO) MessageBox.Show(retPedido.Mensagem, "Pedido", MessageBoxButton.OK, MessageBoxImage.Information); }
private void dgPedidos_ScrollChanged(object sender, ScrollChangedEventArgs e) { try { if (e.VerticalChange != 0) { if (e.VerticalOffset + e.ViewportHeight == e.ExtentHeight && _BuscarPedido) { Contrato.EntradaPedido entradaPedido = new Contrato.EntradaPedido(); entradaPedido.Chave = Comum.Util.Chave; entradaPedido.UsuarioLogado = Comum.Util.UsuarioLogado.Login; entradaPedido.EmpresaLogada = Comum.Util.UsuarioLogado.Empresa; entradaPedido.Pedido = new Contrato.Pedido(); entradaPedido.Paginar = true; entradaPedido.PosicaoUltimoItem = int.Parse(e.ExtentHeight.ToString()); entradaPedido.CantidadeItens = int.Parse(e.ViewportHeight.ToString()); PreencherFiltro(entradaPedido.Pedido); Servico.BrasilDidaticosClient servBrasilDidaticos = new Servico.BrasilDidaticosClient(Comum.Util.RecuperarNomeEndPoint()); Contrato.RetornoPedido retPedido = servBrasilDidaticos.PedidoListar(entradaPedido); servBrasilDidaticos.Close(); if (retPedido.Codigo == 0) { // Verifica se será necessário buscar mais produtos _BuscarPedido = retPedido.Pedidos.Count == e.ViewportHeight; // Se existem produtos preenche o grid if (retPedido.Pedidos.Count > 0) { foreach (Contrato.Pedido p in retPedido.Pedidos) dgPedidos.Items.Add(p); } } } } } catch (Exception ex) { MessageBox.Show(ex.ToString(), "Pedido", MessageBoxButton.OK, MessageBoxImage.Error); } finally { this.Cursor = Cursors.Arrow; } }