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;
            }
        }