public Apartamento(int pnumero)
 {
     this.numero     = pnumero;
     this.condominio = new Condominio();
     this.locador    = new Morador();
     this.locatario  = new DonoDoImovel();
 }
 public static Morador RecuperaObj(int pID)
 {
     SqlConnection objConexao = FabricaConexao.getConexao();
     SqlCommand objCommand;
     SqlDataReader objLeitor;
     Morador objMorador = null;
     try
     {
         String strQuery = "SELECT ID, nome, CPF, email, Telefone, IsResponsavel, Apartamento FROM Morador WHERE ID = '" + pID + "'";
         objCommand = new SqlCommand(strQuery, objConexao);
         objCommand.ExecuteNonQuery();
         objLeitor = objCommand.ExecuteReader();
         while (objLeitor.Read())
         {
             objMorador = new Morador();
             objMorador.Id = Convert.ToInt32(objLeitor[0]);
             objMorador.Nome =Convert.ToString(objLeitor[1]);
             objMorador.Cpf = Convert.ToString(objLeitor[2]);
             objMorador.Email = Convert.ToString(objLeitor[3]);
             objMorador.Telefone = Convert.ToString(objLeitor[4]);
             objMorador.IsResponsavel = Convert.ToBoolean(objLeitor[5]);
             objMorador.Apartamento.Id = Convert.ToInt32(objLeitor[6]);
         }
         objLeitor.Close();
         return objMorador;
     }
     catch (SqlException err)
     {
         String strErro = "Erro: " + err.ToString();
         Console.Write(strErro);
         return objMorador;
     }
 }
 public Apartamento(int pnumero)
 {
     this.numero = pnumero;
     this.condominio = new Condominio();
     this.locador = new Morador();
     this.locatario = new DonoDoImovel();
 }
 public ArrayList RecuperaObj(int pOID)
 {
     ArrayList vetEnvia = new ArrayList();
     this.objMorador = Morador.RecuperaObj(pOID);
     vetEnvia.Add(this.objMorador.Id);
     vetEnvia.Add(this.objMorador.Nome);
     vetEnvia.Add(this.objMorador.Cpf);
     vetEnvia.Add(this.objMorador.Apartamento.Id);
     vetEnvia.Add(this.objMorador.Telefone);
     return vetEnvia;
 }
        public Boolean Salvar(ArrayList pLista)
        {
            if (pLista[0] == null)
            {
                //Criar um Novo
                this.objMorador = new Morador();
               // this.objMorador.Id = Convert.ToInt16(pLista[0]);
                this.objMorador.Nome = Convert.ToString(pLista[1]);
                this.objMorador.Cpf = Convert.ToString(pLista[2]);
                this.objMorador.Email = Convert.ToString(pLista[3]);
                this.objMorador.Telefone = Convert.ToString(pLista[4]);
                this.objMorador.IsResponsavel = Convert.ToBoolean(pLista[5]);
                this.objMorador.Apartamento = Apartamento.RecuperaObj(Convert.ToString(pLista[6]));

                if (objMorador.Persistir())
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
            else
            {
                //Atualização
                this.objMorador.Nome = Convert.ToString(pLista[1]);
                this.objMorador.Cpf = Convert.ToString(pLista[2]);
                this.objMorador.Email = Convert.ToString(pLista[3]);
                this.objMorador.Telefone = Convert.ToString(pLista[4]);
                this.objMorador.IsResponsavel = Convert.ToBoolean(pLista[5]);
                this.objMorador.Apartamento = Apartamento.RecuperaObj(Convert.ToString(pLista[6]));

                if (objMorador.Atualizar())
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
        }
 public Morador RecuperaObj2(int pOID)
 {
     this.objMorador = Morador.RecuperaObj(pOID);
     return objMorador;
 }
 public Boolean Atualizar(Morador pMorador)
 {
     SqlConnection objConexao = FabricaConexao.getConexao();
     String strQuery = "UPDATE Morador SET Nome = '" + pMorador.Nome + "', CPF = '" + pMorador.Cpf + "',Email = '" + pMorador.Email + "',Telefone = '" + pMorador.Telefone
         + "', ApartamentoOID = '" + pMorador.Apartamento.Id + "'WHERE ID = '" + pMorador.Id + "'";
     SqlCommand objCommand = new SqlCommand(strQuery, objConexao);
     try
     {
         objCommand.ExecuteNonQuery();
         return true;
     }
     catch (SqlException err)
     {
         String strErro = "Erro: " + err.ToString();
         Console.Write(strErro);
         return false;
     }
 }
        public Boolean Persistir(Morador pMorador)
        {
            SqlConnection objConexao = FabricaConexao.getConexao();
            String strQuery = "INSERT INTO Morador VALUES('" + pMorador.Id + "','" + pMorador.Nome + "','" + pMorador.Cpf +
                "','" + pMorador.Email + "','" + pMorador.Telefone + "','" + pMorador.IsResponsavel + "','" + pMorador.Apartamento.Id + "')";

            SqlCommand objCommand = new SqlCommand(strQuery, objConexao);
            try
            {
                objCommand.ExecuteNonQuery();
                return true;
            }
            catch (SqlException err)
            {
                String strErro = "Erro: " + err.ToString();
                Console.Write(strErro);
                return false;
            }
        }
        public static Morador RecuperaObj(int pID)
        {
            Morador objMorador = MoradorDAO.RecuperaObj(pID);

            return(objMorador);
        }
 public static Pessoa RecuperaObj(int pID)
 {
     SqlConnection objConexao = FabricaConexao.getConexao();
     String strQuery = "SELECT ID, Nome, CPF, email FROM Pessoa WHERE ID = '" + pID + "'";
     SqlCommand objCommand = new SqlCommand(strQuery, objConexao);
     cntrApartamento objControllerApartamento = new cntrApartamento();
     SqlDataReader objLeitor2;
     Pessoa objPessoa = null;
     Morador objMorador;
     try
     {
         objCommand.ExecuteNonQuery();
         SqlDataReader objLeitor = objCommand.ExecuteReader();
         while (objLeitor.Read())
         {
             //Verificar Tipo do Funcionário e Recuperar o Restante do Funcionário
             //Tentar em Todos os Filhos, até encontrar a Chave Primária Estrangeira Igual
             strQuery = "SELECT ID, IsResponsavel, apartamento FROM Morador WHERE ID = '" + objLeitor[0] + "'";
             objCommand = new SqlCommand(strQuery, objConexao);
             objCommand.ExecuteNonQuery();
             objLeitor2 = objCommand.ExecuteReader();
             while (objLeitor2.Read())
             {
                 objMorador = new Morador();
                 objMorador.IsResponsavel = Convert.ToBoolean(objLeitor2[1]);
                 objMorador.Id = Convert.ToInt32(objLeitor2[3]);
                 objMorador.Email = Convert.ToString(objLeitor[0]);
                 objMorador.Nome = Convert.ToString(objLeitor[1]);
                 objMorador.Cpf = Convert.ToString(objLeitor[2]);
                 objMorador.Apartamento = objControllerApartamento.RecuperaObj(Convert.ToString(objLeitor[3]));
                 objPessoa = (Pessoa)objMorador;
             }
             //Fim Tentativas de Descobrir Tipo Funcionário
         }
         objLeitor.Close();
         return objPessoa;
     }
     catch (SqlException err)
     {
         String strErro = "Erro: " + err.ToString();
         Console.Write(strErro);
         return objPessoa;
     }
 }
 public static IList RecuperaObjetosPorTipo(String pOID)
 {
     IList listFuncionarios = new ArrayList();
     SqlConnection objConexao = FabricaConexao.getConexao();
     String strQuery = "SELECT ID, Nome, CPF, DepartamentoOID FROM Funcionario WHERE DepartamentoOID = '" + pOID + "'";
     SqlCommand objCommand = new SqlCommand(strQuery, objConexao);
     cntrApartamento objControllerApartamento = new cntrApartamento();
     SqlDataReader objLeitor2;
     try
     {
         objCommand.ExecuteNonQuery();
         SqlDataReader objLeitor = objCommand.ExecuteReader();
         while (objLeitor.Read())
         {
             //Verificar Tipo do Funcionário e Recuperar o Restante do Funcionário
             //Tentar em Todos os Filhos, até encontrar a Chave Primária Estrangeira Igual
             strQuery = "SELECT ID, NumDiasTrabalhados,NumHorasDiaTrabalhado, ValorHora FROM FuncionarioHorista WHERE ID = '" + objLeitor[0] + "'";
             objCommand = new SqlCommand(strQuery, objConexao);
             objCommand.ExecuteNonQuery();
             objLeitor2 = objCommand.ExecuteReader();
             while (objLeitor2.Read())
             {
                 Morador objFuncionario = new Morador();
                 objFuncionario.NumDiasTrabalhados = Convert.ToInt32(objLeitor2[1]);
                 objFuncionario.NumHorasDiaTrabalhado = Convert.ToInt32(objLeitor2[2]);
                 objFuncionario.ValorHora = Convert.ToInt32(objLeitor2[3]);
                 objFuncionario.Codigo = Convert.ToString(objLeitor[0]);
                 objFuncionario.Nome = Convert.ToString(objLeitor[1]);
                 objFuncionario.CPF = Convert.ToString(objLeitor[2]);
                 objFuncionario.Departamento = objControllerApartamento.RecuperaObjetoObjeto(Convert.ToString(objLeitor[3]));
                 listFuncionarios.Add(objFuncionario);
             }
             //Fim Tentativas de Descobrir Tipo Funcionário
         }
         objLeitor.Close();
         return listFuncionarios;
     }
     catch (SqlException err)
     {
         String strErro = "Erro: " + err.ToString();
         Console.Write(strErro);
         return listFuncionarios;
     }
 }