private void btnConsultar_Click(object sender, EventArgs e)
        {
            try
            {
                CompraNegocios compraNegocios = new CompraNegocios();

                if (rbID.Checked && txtId.Text.Trim() != "")
                {
                    compras = compraNegocios.ConsultaPorID(int.Parse(txtId.Text));
                    dgvResultados.DataSource = null;
                    dgvResultados.DataSource = compras;
                }
                else if (rbAnimal.Checked && txtAnimal.Text.Trim() != "")
                {
                    compras = compraNegocios.ConsultaPorAnimal(int.Parse(txtAnimal.Text));
                    dgvResultados.DataSource = null;
                    dgvResultados.DataSource = compras;
                }
                else if (rbPessoa.Checked && txtPessoa.Text.Trim() != "")
                {
                    compras = compraNegocios.ConsultaPorPessoa(int.Parse(txtPessoa.Text));
                    dgvResultados.DataSource = null;
                    dgvResultados.DataSource = compras;
                }
                else if (rbUsuario.Checked && txtUsuario.Text.Trim() != "")
                {
                    compras = compraNegocios.ConsultaPorUsuario(int.Parse(txtUsuario.Text));
                    dgvResultados.DataSource = null;
                    dgvResultados.DataSource = compras;
                }
                else if (rbData.Checked)
                {
                    if (rbApos.Checked)
                    {
                        compras = compraNegocios.ConsultaPorDataApos(dtpData1.Value);
                        dgvResultados.DataSource = null;
                        dgvResultados.DataSource = compras;
                    }
                    else if (rbAntes.Checked)
                    {
                        compras = compraNegocios.ConsultaPorDataAntes(dtpData2.Value);
                        dgvResultados.DataSource = null;
                        dgvResultados.DataSource = compras;
                    }
                    else
                    {
                        compras = compraNegocios.ConsultaPorDataEntre(dtpData1.Value, dtpData2.Value);
                        dgvResultados.DataSource = null;
                        dgvResultados.DataSource = compras;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Houve um erro, por favor, tente novamente.", "Houve um erro.");
            }
        }
        private void btnRelatorio_Click(object sender, EventArgs e)
        {
            try
            {
                CompraNegocios compraNegocios = new CompraNegocios();
                string         Path           = "ComprasReport.rdlc";

                if (rbPessoa.Checked)
                {
                    int PessoaID = 0;
                    if (int.TryParse(txtPessoa.Text, out PessoaID))
                    {
                        if (PessoaID != 0)
                        {
                            PessoaNegocios             pessoaNegocios = new PessoaNegocios();
                            ObjetoTransferencia.Pessoa pessoa         = new ObjetoTransferencia.Pessoa();
                            pessoa = pessoaNegocios.ConsultaPorID(PessoaID)[0];

                            compras = compraNegocios.ConsultaPorPessoa(PessoaID);

                            List <ReportParameter> listReportParameter = new List <ReportParameter>();
                            if (pessoa.PessoaFisica.PessoaFisicaNome != "")
                            {
                                listReportParameter.Add(new ReportParameter("TipoRelatorio", "Relatório de pessoa física - " + pessoa.PessoaFisica.PessoaFisicaNome + "."));
                            }
                            else
                            {
                                listReportParameter.Add(new ReportParameter("TipoRelatorio", "Relatório de pessoa jurídica - " + pessoa.PessoaJuridica.PessoaJuridicaNomeFicticio + "."));
                            }
                            listReportParameter.Add(new ReportParameter("UsuarioEmissor", usuario.UsuarioNome));
                            listReportParameter.Add(new ReportParameter("DataEmissao", DateTime.Now.ToString("dd/MM/yyy")));

                            List <ReportDataSource> reportDataSources = new List <ReportDataSource>();

                            reportDataSources.Add(new ReportDataSource("DataSetCompras", compras));

                            Variados.Reports.ReportGenerator report = new Variados.Reports.ReportGenerator();
                            report.CallReport(Path, reportDataSources, listReportParameter);
                        }
                    }
                }
                else if (rbUsuario.Checked)
                {
                    int UsuarioID = 0;
                    if (int.TryParse(txtUsuario.Text, out UsuarioID))
                    {
                        if (UsuarioID != 0)
                        {
                            UsuarioNegocios             usuarioNegocios = new UsuarioNegocios();
                            ObjetoTransferencia.Usuario usuario         = new ObjetoTransferencia.Usuario();
                            usuario = usuarioNegocios.ConsultaPorID(UsuarioID);

                            compras = compraNegocios.ConsultaPorUsuario(UsuarioID);

                            List <ReportParameter> listReportParameter = new List <ReportParameter>();

                            listReportParameter.Add(new ReportParameter("TipoRelatorio", "Relatório de usuário - " + usuario.UsuarioNome + "."));
                            listReportParameter.Add(new ReportParameter("UsuarioEmissor", usuario.UsuarioNome));
                            listReportParameter.Add(new ReportParameter("DataEmissao", DateTime.Now.ToString("dd/MM/yyy")));

                            List <ReportDataSource> reportDataSources = new List <ReportDataSource>();

                            reportDataSources.Add(new ReportDataSource("DataSetCompras", compras));

                            Variados.Reports.ReportGenerator report = new Variados.Reports.ReportGenerator();
                            report.CallReport(Path, reportDataSources, listReportParameter);
                        }
                    }
                }
                else if (rbData.Checked)
                {
                    if (rbAntes.Checked)
                    {
                        compras = compraNegocios.ConsultaPorDataAntes(dtpData2.Value);

                        List <ReportParameter> listReportParameter = new List <ReportParameter>();

                        listReportParameter.Add(new ReportParameter("TipoRelatorio", "Relatório antes da data " + dtpData2.Value.ToString("dd/MM/yyy") + "."));
                        listReportParameter.Add(new ReportParameter("UsuarioEmissor", usuario.UsuarioNome));
                        listReportParameter.Add(new ReportParameter("DataEmissao", DateTime.Now.ToString("dd/MM/yyy")));

                        List <ReportDataSource> reportDataSources = new List <ReportDataSource>();

                        reportDataSources.Add(new ReportDataSource("DataSetCompras", compras));

                        Variados.Reports.ReportGenerator report = new Variados.Reports.ReportGenerator();
                        report.CallReport(Path, reportDataSources, listReportParameter);
                    }
                    else if (rbApos.Checked)
                    {
                        compras = compraNegocios.ConsultaPorDataApos(dtpData1.Value);

                        List <ReportParameter> listReportParameter = new List <ReportParameter>();

                        listReportParameter.Add(new ReportParameter("TipoRelatorio", "Relatório após a data " + dtpData1.Value.ToString("dd/MM/yyy") + "."));
                        listReportParameter.Add(new ReportParameter("UsuarioEmissor", usuario.UsuarioNome));
                        listReportParameter.Add(new ReportParameter("DataEmissao", DateTime.Now.ToString("dd/MM/yyy")));

                        List <ReportDataSource> reportDataSources = new List <ReportDataSource>();

                        reportDataSources.Add(new ReportDataSource("DataSetCompras", compras));

                        Variados.Reports.ReportGenerator report = new Variados.Reports.ReportGenerator();
                        report.CallReport(Path, reportDataSources, listReportParameter);
                    }
                    else if (rbEntre.Checked)
                    {
                        compras = compraNegocios.ConsultaPorDataEntre(dtpData1.Value, dtpData2.Value);

                        List <ReportParameter> listReportParameter = new List <ReportParameter>();

                        listReportParameter.Add(new ReportParameter("TipoRelatorio", "Relatório entre as datas " + dtpData1.Value.ToString("dd/MM/yyy") + " e " + dtpData2.Value.ToString("dd/MM/yyy") + "."));
                        listReportParameter.Add(new ReportParameter("UsuarioEmissor", usuario.UsuarioNome));
                        listReportParameter.Add(new ReportParameter("DataEmissao", DateTime.Now.ToString("dd/MM/yyy")));

                        List <ReportDataSource> reportDataSources = new List <ReportDataSource>();

                        reportDataSources.Add(new ReportDataSource("DataSetCompras", compras));

                        Variados.Reports.ReportGenerator report = new Variados.Reports.ReportGenerator();
                        report.CallReport(Path, reportDataSources, listReportParameter);
                    }
                }
            }
            catch (Exception ex)
            {
            }
        }