private void Search() { string numero = txtNumero.Text; int clientId = 0; var cliente = (ddlCliente.SelectedItem as Entidade); if (cliente != null) { clientId = cliente.Id; } int tipoPagamento = 0; int.TryParse((ddlTipoPagamento.SelectedItem as dynamic).Value, out tipoPagamento); int status = 0; int.TryParse((ddlStatus.SelectedItem as dynamic).Value, out status); DateTime dtPedidoInicio = DateTime.MinValue; if (!string.IsNullOrWhiteSpace(txtDataPedidoInicio.Text.Replace("/", "").Trim())) { DateTime.TryParse(txtDataPedidoInicio.Text, out dtPedidoInicio); if (!string.IsNullOrWhiteSpace(txtHoraPedidoInicio.Text.Replace(":", "").Trim())) { DateTime horaPedido; DateTime.TryParse(txtHoraPedidoInicio.Text, out horaPedido); dtPedidoInicio.AddMinutes(horaPedido.Minute).AddSeconds(horaPedido.Second); } } DateTime dtPedidoFim = DateTime.MinValue; if (!string.IsNullOrWhiteSpace(txtDataPedidoFim.Text.Replace("/", "").Trim())) { DateTime.TryParse(txtDataPedidoFim.Text, out dtPedidoFim); if (!string.IsNullOrWhiteSpace(txtHoraPedidoFim.Text.Replace(":", "").Trim())) { DateTime horaPedidoFim; DateTime.TryParse(txtHoraPedidoFim.Text, out horaPedidoFim); dtPedidoFim.AddMinutes(horaPedidoFim.Minute).AddSeconds(horaPedidoFim.Second); } } var lista = PedidoRepository.SearchPedido(numero, clientId, status, dtPedidoInicio, dtPedidoFim, tipoPagamento); PedidoRepository.PreencherCliente(lista); listagemImpressao = lista.ToList(); for (int i = 0; i < lista.Count; i++) { lista[i].ItensPedido = PedidoRepository.GetListaItemPedido(lista[i].Id).ToList(); } if (lista != null && lista.Count > 0) { btnPrint.Visible = true; } var binding = new BindingList <Pedido>(lista); grdPedido.DataSource = binding; grdPedido.Refresh(); }