private void btnConsultar_Click(object sender, EventArgs e)
 {
     try
     {
         PesagemNegocios pesagemNegocios = new PesagemNegocios();
         if (rbAnimal.Checked && txtAnimal.Text != "" && txtAnimal.Text != "0")
         {
             pesagemCollection      = pesagemNegocios.ConsultaPorAnimal(int.Parse(txtAnimal.Text));
             dgvPesagens.DataSource = null;
             dgvPesagens.DataSource = pesagemCollection;
         }
         else
         {
             if (rbApos.Checked)
             {
                 pesagemCollection      = pesagemNegocios.ConsultaPorApos(dtpData1.Value);
                 dgvPesagens.DataSource = null;
                 dgvPesagens.DataSource = pesagemCollection;
             }
             else if (rbAntes.Checked)
             {
                 pesagemCollection      = pesagemNegocios.ConsultaPorAntes(dtpData2.Value);
                 dgvPesagens.DataSource = null;
                 dgvPesagens.DataSource = pesagemCollection;
             }
             else
             {
                 pesagemCollection      = pesagemNegocios.ConsultaPorEntre(dtpData1.Value, dtpData2.Value);
                 dgvPesagens.DataSource = null;
                 dgvPesagens.DataSource = pesagemCollection;
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show("Houve um erro, por favor, tente novamente.", "Houve um erro.");
     }
 }
        private void btnRelatorio_Click(object sender, EventArgs e)
        {
            try
            {
                PesagemNegocios pesagemNegocios = new PesagemNegocios();
                string          Path            = "PesagensReport.rdlc";
                if (rbAntes.Checked)
                {
                    pesagemCollection = pesagemNegocios.ConsultaPorAntes(dtpData2.Value);
                    AnimalNegocios animalNegocios = new AnimalNegocios();
                    for (int i = 0; i < pesagemCollection.Count; i++)
                    {
                        pesagemCollection[i].Animal = animalNegocios.ConsultaPorID(pesagemCollection[i].Animal.AnimalID)[0];
                    }

                    List <PesagemRelatorio> pesagensRelatorio = new List <PesagemRelatorio>();
                    for (int i = 0; i < pesagemCollection.Count; i++)
                    {
                        pesagensRelatorio.Add(new PesagemRelatorio {
                            PesagemID           = pesagemCollection[i].PesagemID,
                            PesagemData         = pesagemCollection[i].PesagemData,
                            PesagemPeso         = pesagemCollection[i].PesagemPeso,
                            AnimalRaca          = pesagemCollection[i].Animal.Raca.RacaNome,
                            AnimalIdentificador = pesagemCollection[i].Animal.AnimalIdentificador,
                            AnimalDescricao     = pesagemCollection[i].Animal.AnimalDescricao
                        });
                    }

                    List <PesagemRacaPeso> pesagensRacaPeso = new List <PesagemRacaPeso>();
                    pesagensRacaPeso = pesagemNegocios.ConsultaPesagemRacaAntes(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", "Teste."));
                    listReportParameter.Add(new ReportParameter("DataEmissao", DateTime.Now.ToString("dd/MM/yyy")));

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

                    reportDataSources.Add(new ReportDataSource("DataSetPesosTabela", pesagensRelatorio));
                    reportDataSources.Add(new ReportDataSource("DataSetPesagemRaca", pesagensRacaPeso));

                    Variados.Reports.ReportGenerator report = new Variados.Reports.ReportGenerator();
                    report.CallReport(Path, reportDataSources, listReportParameter);
                }
                else if (rbApos.Checked)
                {
                    pesagemCollection = pesagemNegocios.ConsultaPorApos(dtpData1.Value);
                    AnimalNegocios animalNegocios = new AnimalNegocios();
                    for (int i = 0; i < pesagemCollection.Count; i++)
                    {
                        pesagemCollection[i].Animal = animalNegocios.ConsultaPorID(pesagemCollection[i].Animal.AnimalID)[0];
                    }
                    List <PesagemRelatorio> pesagensRelatorio = new List <PesagemRelatorio>();
                    for (int i = 0; i < pesagemCollection.Count; i++)
                    {
                        pesagensRelatorio.Add(new PesagemRelatorio
                        {
                            PesagemID           = pesagemCollection[i].PesagemID,
                            PesagemData         = pesagemCollection[i].PesagemData,
                            PesagemPeso         = pesagemCollection[i].PesagemPeso,
                            AnimalRaca          = pesagemCollection[i].Animal.Raca.RacaNome,
                            AnimalIdentificador = pesagemCollection[i].Animal.AnimalIdentificador,
                            AnimalDescricao     = pesagemCollection[i].Animal.AnimalDescricao
                        });
                    }

                    List <PesagemRacaPeso> pesagensRacaPeso = new List <PesagemRacaPeso>();
                    pesagensRacaPeso = pesagemNegocios.ConsultaPesagemRacaApos(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", "Teste."));
                    listReportParameter.Add(new ReportParameter("DataEmissao", DateTime.Now.ToString("dd/MM/yyy")));

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

                    reportDataSources.Add(new ReportDataSource("DataSetPesosTabela", pesagensRelatorio));
                    reportDataSources.Add(new ReportDataSource("DataSetPesagemRaca", pesagensRacaPeso));

                    Variados.Reports.ReportGenerator report = new Variados.Reports.ReportGenerator();
                    report.CallReport(Path, reportDataSources, listReportParameter);
                }
                else if (rbEntre.Checked)
                {
                    pesagemCollection = pesagemNegocios.ConsultaPorEntre(dtpData1.Value, dtpData2.Value);
                    AnimalNegocios animalNegocios = new AnimalNegocios();
                    for (int i = 0; i < pesagemCollection.Count; i++)
                    {
                        pesagemCollection[i].Animal = animalNegocios.ConsultaPorID(pesagemCollection[i].Animal.AnimalID)[0];
                    }
                    List <PesagemRelatorio> pesagensRelatorio = new List <PesagemRelatorio>();
                    for (int i = 0; i < pesagemCollection.Count; i++)
                    {
                        pesagensRelatorio.Add(new PesagemRelatorio
                        {
                            PesagemID           = pesagemCollection[i].PesagemID,
                            PesagemData         = pesagemCollection[i].PesagemData,
                            PesagemPeso         = pesagemCollection[i].PesagemPeso,
                            AnimalRaca          = pesagemCollection[i].Animal.Raca.RacaNome,
                            AnimalIdentificador = pesagemCollection[i].Animal.AnimalIdentificador,
                            AnimalDescricao     = pesagemCollection[i].Animal.AnimalDescricao
                        });
                    }


                    List <PesagemRacaPeso> pesagensRacaPeso = new List <PesagemRacaPeso>();
                    pesagensRacaPeso = pesagemNegocios.ConsultaPesagemRacaEntre(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", "Teste."));
                    listReportParameter.Add(new ReportParameter("DataEmissao", DateTime.Now.ToString("dd/MM/yyy")));

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

                    reportDataSources.Add(new ReportDataSource("DataSetPesosTabela", pesagensRelatorio));
                    reportDataSources.Add(new ReportDataSource("DataSetPesagemRaca", pesagensRacaPeso));

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