public int Cadastrar(ContratoAluguel contratoAluguel, int UsuarioID)
        {
            try
            {
                //Limpa todos os parâmetros
                acessoDadosSqlServer.LimparParametros();

                //Adiciona os parâmetros para chamar a store procedure
                acessoDadosSqlServer.AdicionarParametros("@TipoProcedure", "Inserir");
                acessoDadosSqlServer.AdicionarParametros("@ContratoAluguelID", 0);
                acessoDadosSqlServer.AdicionarParametros("@ContratoAluguelDataInicial", contratoAluguel.ContratoAluguelDataInicial);
                acessoDadosSqlServer.AdicionarParametros("@ContratoAluguelDataFinal", contratoAluguel.ContratoAluguelDataFinal);
                acessoDadosSqlServer.AdicionarParametros("@ContratoAluguelValor", contratoAluguel.ContratoAluguelValor);
                acessoDadosSqlServer.AdicionarParametros("@PessoaID", contratoAluguel.Pessoa.PessoaID);

                contratoAluguel.ContratoAluguelID = int.Parse(acessoDadosSqlServer.ExecutarManipulacao(CommandType.StoredProcedure, "uspManterContratoAluguel"));

                PastoNegocios pastoNegocios = new PastoNegocios();
                for (int i = 0; i < contratoAluguel.Pastos.Count; i++)
                {
                    contratoAluguel.Pastos[i].ContratoAluguel = new ContratoAluguel();
                    contratoAluguel.Pastos[i].ContratoAluguel.ContratoAluguelID = contratoAluguel.ContratoAluguelID;
                    if (contratoAluguel.Pastos[i].PastoID == 0)
                    {
                        contratoAluguel.Pastos[i].PastoID = pastoNegocios.Cadastrar(contratoAluguel.Pastos[i]);
                    }
                    else
                    {
                        pastoNegocios.Alterar(contratoAluguel.Pastos[i], new PiqueteCollection());
                    }
                }

                EstoqueLocalidadeNegocios estoqueLocalidadeNegocios = new EstoqueLocalidadeNegocios();
                for (int i = 0; i < contratoAluguel.EstoquesLocalidade.Count; i++)
                {
                    contratoAluguel.EstoquesLocalidade[i].ContratoAluguel = new ContratoAluguel();
                    contratoAluguel.EstoquesLocalidade[i].ContratoAluguel.ContratoAluguelID = contratoAluguel.ContratoAluguelID;
                    if (contratoAluguel.EstoquesLocalidade[i].EstoqueLocalidadeID == 0)
                    {
                        contratoAluguel.EstoquesLocalidade[i].EstoqueLocalidadeID = estoqueLocalidadeNegocios.Cadastrar(contratoAluguel.EstoquesLocalidade[i], UsuarioID);
                    }
                    else
                    {
                        estoqueLocalidadeNegocios.Alterar(contratoAluguel.EstoquesLocalidade[i], UsuarioID);
                    }
                }

                return(contratoAluguel.ContratoAluguelID);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        public ContratoAluguelCollection ConsultaPorID(int ContratoAluguelID)
        {
            try
            {
                //Limpa e adiciona os parâmetros
                acessoDadosSqlServer.LimparParametros();
                acessoDadosSqlServer.AdicionarParametros("@TipoProcedure", "ID");
                acessoDadosSqlServer.AdicionarParametros("@PastoID", 0);
                acessoDadosSqlServer.AdicionarParametros("@EstoqueLocalidadeID", 0);
                acessoDadosSqlServer.AdicionarParametros("@PessoaID", 0);
                acessoDadosSqlServer.AdicionarParametros("@ContratoAluguelID", ContratoAluguelID);


                //Cria uma DataTable pois a store procedure returna uma tabela de dados
                DataTable dataTable = acessoDadosSqlServer.ExecutarConsulta(CommandType.StoredProcedure, "uspConsultaContratoAluguel");

                ContratoAluguelCollection contratoAluguelCollection = new ContratoAluguelCollection();

                foreach (DataRow row in dataTable.Rows)
                {
                    ContratoAluguel contratoAluguel = new ContratoAluguel();
                    contratoAluguel.Pessoa                      = new Pessoa();
                    contratoAluguel.EstoquesLocalidade          = new EstoqueLocalidadeCollection();
                    contratoAluguel.Pastos                      = new PastoCollection();
                    contratoAluguel.ContratoAluguelID           = Convert.ToInt32(row["ContratoAluguelID"]);
                    contratoAluguel.ContratoAluguelDataInicial  = Convert.ToDateTime(row["ContratoAluguelDataInicial"]);
                    contratoAluguel.ContratoAluguelDataFinal    = Convert.ToDateTime(row["ContratoAluguelDataFinal"]);
                    contratoAluguel.ContratoAluguelValor        = Convert.ToDecimal(row["ContratoAluguelValor"]);
                    contratoAluguel.Pessoa.PessoaID             = Convert.ToInt32(row["PessoaID"]);
                    contratoAluguel.QuantidadeEstoqueLocalidade = Convert.ToInt32(row["QuantidadeEstoqueLocalidade"]);
                    contratoAluguel.QuantidadePasto             = Convert.ToInt32(row["QuantidadePasto"]);
                    PessoaNegocios pessoaNegocios = new PessoaNegocios();
                    contratoAluguel.Pessoa = pessoaNegocios.ConsultaPorID(contratoAluguel.Pessoa.PessoaID)[0];

                    contratoAluguelCollection.Add(contratoAluguel);
                }

                return(contratoAluguelCollection);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }