private void btnFiltro_Click(object sender, EventArgs e) { try { //POR DATA if (cmbCliente.Text == "" && txtDataDe.Text != "01/01/2001" && txtDataAte.Text != "01/01/2001" && cmbStatusFiltro.Text == "") { Filtro.dataDe = txtDataDe.Text; Filtro.dataAte = txtDataAte.Text; SortableBindingList <Pedido> _lst = new SortableBindingList <Pedido>(); var lst = Filtro.pedidoFiltrarPorData(); foreach (var item in lst) { _lst.Add(item); } grdDadosPedido.AutoGenerateColumns = false; grdDadosPedido.DataSource = null; grdDadosPedido.DataSource = _lst; grdDadosPedido.Show(); decimal valorTotal = 0; foreach (DataGridViewRow col in grdDadosPedido.Rows) { valorTotal = valorTotal + Convert.ToDecimal(col.Cells[2].Value); } lblCustoTotal.Text = $"Valor Total dos Pedidos: R$ {valorTotal.ToString("N2")}"; } //POR DATA E NOME else if (cmbCliente.Text != "" && txtDataDe.Text != "01/01/2001" && txtDataAte.Text != "01/01/2001" && cmbStatusFiltro.Text == "") { Filtro.dataDe = txtDataDe.Text; Filtro.dataAte = txtDataAte.Text; Filtro.IdCliente = cmbCliente.SelectedValue.ToString(); SortableBindingList <Pedido> _lst = new SortableBindingList <Pedido>(); var lst = Filtro.pedidoFiltrarPorNomeData(); foreach (var item in lst) { _lst.Add(item); } grdDadosPedido.AutoGenerateColumns = false; grdDadosPedido.DataSource = null; grdDadosPedido.DataSource = _lst; grdDadosPedido.Show(); decimal valorTotal = 0; foreach (DataGridViewRow col in grdDadosPedido.Rows) { valorTotal = valorTotal + Convert.ToDecimal(col.Cells[2].Value); } lblCustoTotal.Text = $"Valor Total dos Pedidos: R$ {valorTotal.ToString("N2")}"; } //POR NOME else if (cmbCliente.Text != "" && txtDataDe.Text == "01/01/2001" && txtDataAte.Text == "01/01/2001" && cmbStatusFiltro.Text == "") { Filtro.IdCliente = cmbCliente.SelectedValue.ToString(); SortableBindingList <Pedido> _lst = new SortableBindingList <Pedido>(); var lst = Filtro.pedidoFiltrarPorNome(); foreach (var item in lst) { _lst.Add(item); } grdDadosPedido.AutoGenerateColumns = false; grdDadosPedido.DataSource = null; grdDadosPedido.DataSource = _lst; grdDadosPedido.Show(); decimal valorTotal = 0; foreach (DataGridViewRow col in grdDadosPedido.Rows) { valorTotal = valorTotal + Convert.ToDecimal(col.Cells[2].Value); } lblCustoTotal.Text = $"Valor Total dos Pedidos: R$ {valorTotal.ToString("N2")}"; } //POR NOME E STATUS else if (cmbCliente.Text != "" && txtDataDe.Text == "01/01/2001" && txtDataAte.Text == "01/01/2001" && cmbStatusFiltro.Text != "") { Filtro.IdCliente = cmbCliente.SelectedValue.ToString(); Filtro.statusPedido = cmbStatusFiltro.SelectedItem.ToString(); SortableBindingList <Pedido> _lst = new SortableBindingList <Pedido>(); var lst = Filtro.pedidoFiltrarPorNomeStatus(); foreach (var item in lst) { _lst.Add(item); } grdDadosPedido.AutoGenerateColumns = false; grdDadosPedido.DataSource = null; grdDadosPedido.DataSource = _lst; grdDadosPedido.Show(); decimal valorTotal = 0; foreach (DataGridViewRow col in grdDadosPedido.Rows) { valorTotal = valorTotal + Convert.ToDecimal(col.Cells[2].Value); } lblCustoTotal.Text = $"Valor Total dos Pedidos: R$ {valorTotal.ToString("N2")}"; } //POR DATA E STATUS else if (cmbCliente.Text == "" && txtDataDe.Text != "01/01/2001" && txtDataAte.Text != "01/01/2001" && cmbStatusFiltro.Text != "") { Filtro.statusPedido = cmbStatusFiltro.SelectedItem.ToString(); Filtro.dataDe = txtDataDe.Text; Filtro.dataAte = txtDataAte.Text; SortableBindingList <Pedido> _lst = new SortableBindingList <Pedido>(); var lst = Filtro.pedidoFiltrarPorDataStatus(); foreach (var item in lst) { _lst.Add(item); } grdDadosPedido.AutoGenerateColumns = false; grdDadosPedido.DataSource = null; grdDadosPedido.DataSource = _lst; grdDadosPedido.Show(); decimal valorTotal = 0; foreach (DataGridViewRow col in grdDadosPedido.Rows) { valorTotal = valorTotal + Convert.ToDecimal(col.Cells[2].Value); } lblCustoTotal.Text = $"Valor Total dos Pedidos: R$ {valorTotal.ToString("N2")}"; } //POR DATA, NOME E STATUS else if (cmbCliente.Text != "" && txtDataDe.Text != "01/01/2001" && txtDataAte.Text != "01/01/2001" && cmbStatusFiltro.Text != "") { Filtro.IdCliente = cmbCliente.SelectedValue.ToString(); Filtro.dataDe = txtDataDe.Text; Filtro.dataAte = txtDataAte.Text; Filtro.statusPedido = cmbStatusFiltro.SelectedItem.ToString(); SortableBindingList <Pedido> _lst = new SortableBindingList <Pedido>(); var lst = Filtro.pedidoFiltrarPorNomeDataStatus(); foreach (var item in lst) { _lst.Add(item); } grdDadosPedido.AutoGenerateColumns = false; grdDadosPedido.DataSource = null; grdDadosPedido.DataSource = _lst; grdDadosPedido.Show(); decimal valorTotal = 0; foreach (DataGridViewRow col in grdDadosPedido.Rows) { valorTotal = valorTotal + Convert.ToDecimal(col.Cells[2].Value); } lblCustoTotal.Text = $"Valor Total dos Pedidos: R$ {valorTotal.ToString("N2")}"; } //POR STATUS else if (cmbCliente.Text == "" && txtDataDe.Text == "01/01/2001" && txtDataAte.Text == "01/01/2001" && cmbStatusFiltro.Text != "") { Filtro.statusPedido = cmbStatusFiltro.SelectedItem.ToString(); SortableBindingList <Pedido> _lst = new SortableBindingList <Pedido>(); var lst = Filtro.pedidoFiltrarPorStatus(); foreach (var item in lst) { _lst.Add(item); } grdDadosPedido.AutoGenerateColumns = false; grdDadosPedido.DataSource = null; grdDadosPedido.DataSource = _lst; grdDadosPedido.Show(); decimal valorTotal = 0; foreach (DataGridViewRow col in grdDadosPedido.Rows) { valorTotal = valorTotal + Convert.ToDecimal(col.Cells[2].Value); } lblCustoTotal.Text = $"Valor Total dos Pedidos: R$ {valorTotal.ToString("N2")}"; } else if (cmbCliente.Text == "" && txtDataDe.Text == "01/01/2001" && txtDataAte.Text == "01/01/2001") { DialogResult dialogResult = MessageBox.Show("Não se pode fazer filtro de dados nulos!", "Confirmação", MessageBoxButtons.OK); } else if (txtDataDe.Text != "01/01/2001" && txtDataAte.Text == "01/01/2001") { DialogResult dialogResult = MessageBox.Show("Não se pode fazer filtro apenas com a Data Inicial!", "Confirmação", MessageBoxButtons.OK); } else if (txtDataDe.Text == "01/01/2001" && txtDataAte.Text != "01/01/2001") { DialogResult dialogResult = MessageBox.Show("Não se pode fazer filtro apenas com a Data Final!", "Confirmação", MessageBoxButtons.OK); } else if (txtDataDe.Text == "01/01/2001" && txtDataAte.Text == "01/01/2001") { DialogResult dialogResult = MessageBox.Show("Não se pode fazer filtro desta Data!", "Confirmação", MessageBoxButtons.OK); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } }