Retorno da List

17/09/2014

0

Boa tarde galera, como capturar o retorno dessa lista?

Como a lista é do tipo Pessoa, não tenho acesso do controle, a os dados: "funcao = f.descricao" e "empresa = e.razao_social".


public List<Pessoa> Listar()
{
try
{
using (Conexao Con = new Conexao())
{

return (from p in Con.Pessoa
join f in Con.Funcao on p.Funcao_codigo equals f.codigo
join e in Con.Empresa on p.Empresa_codigo equals e.codigo
select new
{
matricula = p.matricula,
foto = p.foto,
nome = p.nome,
funcao = f.descricao,
empresa = e.razao_social
});

//return Con.Pessoa.OrderByDescending(d => d.idPessoa).ToList();
}
}
catch
{
throw;
}
}
Eduardo Silva

Eduardo Silva

Responder

Posts

17/09/2014

Joel Rodrigues

Neste caso, na classe Pessoa você precisa de uma propriedade Funcao e uma Empresa.
Responder

17/09/2014

Eduardo Silva

Então na classe pessoa eu tenho o mapeamento das tabelas

[Table("Pessoa")]
public class Pessoa
{
[Key] //chave primaria
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Column("idPessoa")]
public int idPessoa { get; set; }

[Column("matricula")]
public int matricula { get; set; }

[Column("Funcao_codigo")]
public int Funcao_codigo { get; set; }

[Column("Empresa_codigo")]
public int Empresa_codigo { get; set; }
}}

Aonde eu tenho o ID da função e o código da empresa!

Eu teria que criar uma outra classe? com os valores que eu preciso?
Responder

18/09/2014

Joel Rodrigues

É, eu vejo duas opções para você.
A primeira é adicionar as propriedades Funcao e Empresa, desses tipos, como eu citei antes.
A segunda é criar um View Model para modelar essa classe Pessoa já contendo a descrição da função e da empresa, visto que o objetivo de ter essas descrições no objeto é apresentar esses dados para o usuário.
Veja este post do MVP em ASP.NET Eduardo Pires sobre View Models, creio que vai lhe ajudar: [url:descricao=ASP.Net MVC – View Model Pattern – Quando e como utilizar?]http://eduardopires.net.br/2013/08/asp-net-mvc-view-model-pattern-quando-e-como-utilizar/[/url]
Responder

18/09/2014

Eduardo Silva

Vlw Joel,

Eu fiz dessa forma e funcionou de boa, só não sei se é a melhor alternativa, que que eu chamo o busca função e o busca empresa!

De qualquer forma esta funcionando :)


pessoaEmpresaFuncao Model = new pessoaEmpresaFuncao();

Model.idPessoa = il.idPessoa;
Model.matricula = il.matricula;
Model.nome = il.nome;
Model.foto = il.foto;

Funcao f = c.buscaFuncao(il.Funcao_codigo);
if (f != null) {
Model.funcao = f.descricao;
}
else
{
Model.funcao = "Em branco";
}

Empresa e = c.buscaEmpresa(il.Empresa_codigo);
if (e != null)
{
Model.empresa = e.razao_social;
}
else
{
Model.empresa = "Em branco";

}
listaPessoas.Add(Model);
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar