Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rafaelsouzab

Aplicação em Camadas, utilizando List

Recommended Posts

Boa noite,

 

Estou começando a estudar c# e estou tentando desenvolver uma aplicação em 3 camadas, porem não tenho muito conhecimento em listas e como trabalhar realmente em 3 camadas, estou aprendendo, em alguns pontos ainda tenho algumas dificuldades, como obter e exibir os dados da forma que eu quiser tenho o seguinte código:

 

Na camada de Database tenho este método selecionar que me retorna um data table

 public DataTable Selecionar()
        {
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                string queryString = "select * from usuarios";
                SqlCommand command = new SqlCommand(queryString, connection);
                command.Connection.Open();

                SqlDataAdapter adapter = new SqlDataAdapter();
                adapter.SelectCommand = command;

                DataTable table = new DataTable();
                adapter.Fill(table);

                return table;
            }
        }

 

Na camada de Negocio, tenho uma lista de usuarios da camada modelo, que me retorna uma lista com os dados dos usuarios correto obviamente

public static List<Usuario> Selecionar()
        {
            var list = new List<Usuario>();
            var tabela = new Database.Usuario().Selecionar();
            if (tabela.Rows.Count > 0)
            {
                foreach (DataRow row in tabela.Rows)
                {
                    list.Add(new Usuario()
                    {
                        cod_user = row["cod_user"].ToString(),
                        login_user = row["login_user"].ToString(),
                        nome_user = row["nome_user"].ToString(),
                        senha = row["senha_user"].ToString(),
                        email_user = row["email_user"].ToString(),
                        tel_user = row["tel_user"].ToString(),
                        permissao = row["permissao"].ToString(),
                        cargo = row["cargo"].ToString(),
                        ramal = row["ramal"].ToString(),
                        status = row["status_user"].ToString()
                        
                    });
                }
            }
            return list;
        }

 

Na camada modelo tenho este codigo que me retorna o nome do usuário 

 

  public override string ToString()
        {
            return this.nome_user;
        }

Porem eu consigo obter somente o "nome_user" claro se eu mudar para outra propriedade vou obter outra propriedade, porem eu gostaria de obter todas as informações desse usuário como código, nome, login, etc... Mas estou com uma certa dificuldade em fazer isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tem a necessidade de sobrescrever o ToString(); isso é comum no Java, mas em C# não precisa.

 

No demais, parece que está correto..

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah entendi, então no caso eu estava criando tudo isso baseado em um curso que estava fazendo de c# mesmo, e o instrutor realizou esse método de sobrescrever ToString(), se eu retirar no caso o metódo de sobrescrever  o ToString() para acessar os dados do usuário teria que criar uma variavel que vai guardar a lista e para acessar teria que utilizar Lista[Linha].Propriedade correto ? 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse método de override  ToString() esta sendo utilizando para quando utilizar o método Selecionar() ele trazer o nome do usuário como por exemplo:

Nessa list box ele adiciona o nome dos  usuários.

 

retirando o override do ToString() como poderia fazer isso ? 

lsbUsuarios.DataSource = IUsuario.Selecionar();

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por mr22robot
      Ola caros amigos. 
      Estou com uma dúvida aqui que embora nao tenho achado ainda uma resposta, acredito que haja.
      Estou estudando a tão sonhada linguagem de programação asp.net core mvc. Linguagem essa que demorei 5 anos pra iniciar os estudos rsrs.
      Mas estou agarrado em uma situação. 
      Estou usando como base de dados nos meus estudos um banco Oracle. Que já tem algumas informações nele. Utilizei o SCAFFOLD para criar as classes e o contexto baseado no banco e tabelas existentes. 
      Porem agora na fase das consultas, estou perdido em como utilizar o IN que eu utilizo no oracle; no LINQ.
      Ex: 
      SELECT CODPROD,DESCRICAO FROM PRODUTO WHERE CODPROD IN(1,2,3,4,5,6) Como eu utilizo esse filtro com uma restrição de códigos de produtos? no caso o where codprod in(1,2,3,4,5,6) ?.
      Desde já obrigado pela ajuda.
    • Por Rafael Massula
      Boa noite pessoal, 
      Tenho o seguinte código em .Net que faz a comparação de uma senha que foi criptografada e salva no banco com a senha comum que o usuário conhece. O algoritmo que desenvolvi foi esse da image.png porem preciso converter essa verificação para JavaScript pela seguinte necessidade, será uma aplicação em electron e ela poderá funcionar offline então não terei como mandar a verificação para o servidor. Existe alguma possibilidade? Desde já agradeço. 

    • Por marceloDiegues
      Olá, amigos.
      Por favor,  me ajude com a seguintes perguntas.
       
      Qual a complexidade de um projeto desse?
      Qual o preçp de um projeto desse tipo?
       
      Quero contratar algum profissional para criar um site que tenha as seguintes funcionabilidades:
       
      1- Cadastro de usuário;
      2- Login e senha;
      3- O site seria muito parecido com o www.qconcursos.com, o usuário resolveria questões online.
      Contudo, haveria a possibilidade de criar salas tipo aqueles bate-papo da &nbsp;UOL.
      Então, o usuário criaria salas de estudos, em que , resolveria questões e conseguiria se comunicar por chat com usuários que estejam na mesma sala.
       
      Exemplo em anexo:
       
       
       
       

    • Por iveusername
      Preciso de ajuda com o serviço de url de suporte ao vivo. Quando recebo um url de Umuly.com no Postman, outras pessoas não devem ter permissão para bater papo usando esse url. Supondo que 10.000 pessoas tenham um bate-papo ao vivo, o serviço deve criar 10.000 novos urls. Qual é a razão por trás disso? Como o serviço gera novos urls para cada um? (Em linguagem .NET Core)
    • Por Caio Henrique Bottigelli
      Olá, estou desenvolvendo um sistema em asp.net Framework MVC, usando o banco de dados Postgresql. Quando 2 usuários diferentes usam o sistema acontece conflito de informações, por exemplo, no cadastro de clientes, preciso vincular uma pessoa a um determinado cliente, caso 2 usuários estiverem usando, e os 2 fizerem essa ação de vincular pessoas a um cliente, no 2º usuário vai aparecer a pessoa que o 1º usuário vinculou. É como se o sistema estivesse usando uma única Lista e os 2 usuários estivessem compartilhando essa lista.
      As variáveis de conexão não estão estáticas, toda vez que alguém entrar no sistema, vai ser criado uma nova instancia de conexão.
      Alguém sabe como resolver esse conflito de informação entre usuários?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.