C# - Retornar campo e valor de campo de um objeto dentro de outro objeto

.NET

12/07/2011

Boa tarde pessoal.

Estou implementando uma rotina de auditoria aqui e preciso salvar todos os campos e valores de uma entidade.

Exemplo:

public class Usuario : Base
    {
        public virtual string Nome { get; set; }
        public virtual string Login { get; set; }
        public virtual string Senha { get; set; }
        public virtual bool Ativo { get; set; }
        public virtual DateTime DataCadastro { get; set; }
        public virtual Empresa Empresa { get; set; }
        public virtual String Email { get; set; }
    }

para salvar, estou fazendo o seguinte:

string campos;
var propriedades = entidade.GetType().GetProperties();
foreach (var propriedade in propriedades)
{
      campos += propriedade.Name + ":" + propriedade.GetValue(entidade, null) + ";" + System.Environment.NewLine;
}

porém, o problema é quando preciso pegar o campo empresa, que é outra entidade...como devo proceder para pegar esse campo e o id que está dentro do mesmo ?
Como essa rotina vai ser usada em todas as tabelas, não tenho como saber quais são os objetos sempre que vou salvar, então preciso de uma solução genérica...
Obrigado
Gustavo Zoffoli

Gustavo Zoffoli

Curtidas 0
POSTAR