none
Dúvida carregar ListView RRS feed

  • Pergunta

  • Amigos,

     

    tenho um ListView e desejo carrega-lo. Tenho uma classe que se chama RepositorioClientes onde possui um metodo BuscarTodos, porém a classe Cliente possui como atributo uma outra classe Endereço. Como faço para montar esse metodo BuscarTodos? Quando estou atribuindo os valores resgado na query eu atribuo a minha classe Cliente porém quando chego no atributo Endereco, não consigo especifica-los.

    Segue código:

    public List<Cliente> BuscarTodos()
        {
          Cliente cliente = null;
    
          IDbCommand command = null;
    
          string sql = "SELECT * FROM clientes Order By Nome";
    
            try
            {
              command = new OleDbCommand();
              command.Connection = Connection;
              command.CommandText = sql;
              command.CommandType = CommandType.Text;
    
              Connection.Open();
    
              IDataReader reader = command.ExecuteReader();
    
              while (reader.Read())
              {
    
                string nomeCliente = (string)reader["STUDIO_PAX_PILATES_NOME"];
                string cpfCliente = (string)reader["STUDIO_PAX_PILATES_CPF"];
                string dtNascimentoCliente = (string)reader["STUDIO_PAX_PILATES_DT_NASCIMENTO"];
                Endereco endCliente = (Endereco)Enum.Parse(typeof(Endereco), (string)reader["STUDIO_PAX_PILATES_END"]);
                Endereco endNumero = (Endereco)reader["STUDIO_PAX_PILATES_NUMERO"];
                Endereco endComplemento = (Endereco)reader["STUDIO_PAX_PILATES_COMPLEMENTO"];
                Endereco endCep = (Endereco)reader["STUDIO_PAX_PILATES_CEP"];
                Endereco endBairro = (Endereco)reader["STUDIO_PAX_PILATES_BAIRRO"];
                Endereco endEstado = (Endereco)reader["STUDIO_PAX_PILATES_ESTADO"];
                Telefone TelRes = (Telefone)reader["STUDIO_PAX_PILATES_TEL_RESIDENCIAL"];
                Telefone TelCom = (Telefone)reader["STUDIO_PAX_PILATES_TEL_COMERCIAL"];
                Telefone TelCel = (Telefone)reader["STUDIO_PAX_PILATES_TEL_CELULAR"];
                string emailCliente = (string)reader["STUDIO_PAX_PILATES_EMAIL"];
                string profissaoCliente = (string)reader["STUDIO_PAX_PILATES_PROFISSAO"];
                string pesoCliente = (string)reader["STUDIO_PAX_PILATES_PESO"];
                string alturaCliente = (string)reader["STUDIO_PAX_PILATES_ALTURA"];
                string obsCliente = (string)reader["STUDIO_PAX_PILATES_OBS"];
                
    
                cliente = new Cliente(nomeCliente, cpfCliente, dtNascimentoCliente, emailCliente, profissaoCliente, pesoCliente, alturaCliente, obsCliente);
                cliente.Endereco.End = endCliente;
    
                clientes.Add(cliente);
    
              }
    
    
            }
            catch (Exception ex)
            {
              throw ex;
            }
            finally
            {
              if (Connection.State == ConnectionState.Open)
              {
                Connection.Close();
              }
            }
    
            return clientes;
        }
    


     

     


    Daniel
    quinta-feira, 30 de junho de 2011 14:29

Respostas

  • Crie uma instancia de Endereco, e depois atribua ao seu objeto cliente

    Exemplo:

    ...
    
    while (reader.Read())
    {
    	string nomeCliente = (string)reader["STUDIO_PAX_PILATES_NOME"];
    	string cpfCliente = (string)reader["STUDIO_PAX_PILATES_CPF"];
    	string dtNascimentoCliente = (string)reader["STUDIO_PAX_PILATES_DT_NASCIMENTO"]; 
    	string emailCliente = (string)reader["STUDIO_PAX_PILATES_EMAIL"];
    	string profissaoCliente = (string)reader["STUDIO_PAX_PILATES_PROFISSAO"];
    	string pesoCliente = (string)reader["STUDIO_PAX_PILATES_PESO"];
    	string alturaCliente = (string)reader["STUDIO_PAX_PILATES_ALTURA"];
    	string obsCliente = (string)reader["STUDIO_PAX_PILATES_OBS"];
    
    	//Preenchendo Endereco, vamos deduzir que isso tipo Endereco, todas sua propriedades são string
    	Endereco objEndereco = new Endereco();
    	objEndereco.Endereco = (string)reader["STUDIO_PAX_PILATES_END"]);
    	objEndereco.Numero = (string)reader["STUDIO_PAX_PILATES_NUMERO"];
    	objEndereco.omplemento = (string)reader["STUDIO_PAX_PILATES_COMPLEMENTO"];
    	objEndereco.Cep = (string)reader["STUDIO_PAX_PILATES_CEP"];
    	objEndereco.Bairro = (string)readerr["STUDIO_PAX_PILATES_BAIRRO"];
    	objEndereco.Estado = (string)reader["STUDIO_PAX_PILATES_ESTADO"];
    
    	//Mesma coisa para o Telefone, deduzindo que isso tipo Telefone, todas sua propriedades são string
    	Telefone objTelefone = new Telefone();
    	objTelefone.Res = (string)reader["STUDIO_PAX_PILATES_TEL_RESIDENCIAL"];
    	objTelefone.Com = (string)reader["STUDIO_PAX_PILATES_TEL_COMERCIAL"];
    	objTelefone.Cel = (string)reader["STUDIO_PAX_PILATES_TEL_CELULAR"];
    
    	//Adicionando valores pelo construtors da classe
    	cliente = new Cliente(nomeCliente, cpfCliente, dtNascimentoCliente, emailCliente, profissaoCliente, pesoCliente, alturaCliente, obsCliente);
    	cliente.Endereco = objEndereco;
    	cliente.Telefone = objTelefone;
    
    	clientes.Add(cliente);
    }
    
    ...
    

     

    Espero que tenha ajudado.


    Vitor Mendes | Seu feedback é muito importante para todos!
    • Marcado como Resposta dralves quinta-feira, 30 de junho de 2011 17:17
    quinta-feira, 30 de junho de 2011 16:02