public AnimalCollection ConsultaPorRaca(int RacaID) { try { //Limpa e adiciona os parâmetros acessoDadosSqlServer.LimparParametros(); acessoDadosSqlServer.AdicionarParametros("@TipoProcedure", "Raca"); acessoDadosSqlServer.AdicionarParametros("@AnimalID", 0); acessoDadosSqlServer.AdicionarParametros("@AnimalDescricao", ""); acessoDadosSqlServer.AdicionarParametros("@AnimalIdentificador", ""); acessoDadosSqlServer.AdicionarParametros("@RacaID", RacaID); acessoDadosSqlServer.AdicionarParametros("@PiqueteID", 0); //Cria uma DataTable pois a store procedure returna uma tabela de dados DataTable dataTable = acessoDadosSqlServer.ExecutarConsulta(CommandType.StoredProcedure, "uspConsultaAnimal"); AnimalCollection animalCollection = new AnimalCollection(); PesagemNegocios pesagemNegocios = new PesagemNegocios(); foreach (DataRow row in dataTable.Rows) { Animal animal = new Animal(); animal.Piquete = new Piquete(); animal.Raca = new Raca(); animal.Pesagens = new PesagemCollection(); animal.AnimalParentescoPai = new Animal(); animal.AnimalParentescoMae = new Animal(); animal.Piquete.Pasto = new Pasto(); animal.Piquete.Pasto.Cidade = new Cidade(); animal.AnimalID = Convert.ToInt32(row["AnimalID"]); animal.AnimalDescricao = row["AnimalDescricao"].ToString(); if (row["AnimalParentescoPai"] != DBNull.Value) { animal.AnimalParentescoPai.AnimalID = Convert.ToInt32(row["AnimalParentescoPai"]); } if (row["AnimalParentescoMae"] != DBNull.Value) { animal.AnimalParentescoMae.AnimalID = Convert.ToInt32(row["AnimalParentescoMae"]); } animal.AnimalLocalidadeNascimento = row["AnimalLocalidadeNascimento"].ToString(); if (row["AnimalDataNascimento"] != DBNull.Value) { animal.AnimalDataNascimento = Convert.ToDateTime(row["AnimalDataNascimento"]); } animal.AnimalIdentificador = row["AnimalIdentificador"].ToString(); animal.AnimalAtivo = Convert.ToBoolean(row["AnimalAtivo"]); animal.Raca.RacaID = Convert.ToInt32(row["RacaID"]); animal.Raca.RacaNome = row["RacaNome"].ToString(); animal.Pesagens = pesagemNegocios.ConsultaPorAnimal(animal.AnimalID); animal.Piquete.PiqueteDescricao = row["PiqueteDescricao"].ToString(); animal.Piquete.Pasto.PastoDescricao = row["PastoDescricao"].ToString(); animalCollection.Add(animal); } return(animalCollection); } catch (Exception ex) { throw new Exception(ex.Message); } }