예제 #1
0
        public ICollection ConsultarPropriedade(Buscador <TObjeto> buscador, TObjeto objeto, LambdaExpression propriedade)
        {
            var configuracao = CriarConfiguradorDaChave(buscador.CriarQuery(), objeto);
            var vinculos     = new List <IList <object> >();
            var propriedades = new List <PropertyInfo>()
            {
                ExpressionHelper.PropriedadeDaExpressao(propriedade)
            };

            CarregarPropriedadeVinculada(TiposRelacionamento.Descendente, configuracao, propriedades, vinculos);
            return(ConsultarPropriedadeDescendente(objeto, propriedades[0], vinculos.Count == 1 ? vinculos[0] : null));
        }
예제 #2
0
        public TEstadoObjeto ConsultarPropriedade <TEstadoObjeto>(Buscador <TObjeto> buscador, TObjeto objeto,
                                                                  Expression <Func <TObjeto, TEstadoObjeto> > propriedade) where TEstadoObjeto : class, IEntidade
        {
            var configuracao = CriarConfiguradorDaChave(buscador.CriarQuery(), objeto);
            var vinculos     = new List <IList <object> >();
            var propriedades = new List <PropertyInfo>()
            {
                ExpressionHelper.PropriedadeDaExpressao(propriedade)
            };

            CarregarPropriedadeVinculada(TiposRelacionamento.Ascendente, configuracao, propriedades, vinculos);
            return((TEstadoObjeto)ConsularValorPropriedadeAscendente(objeto, propriedades[0], vinculos.Count == 1 ? vinculos[0] : null));
        }
예제 #3
0
 public ICollection <TEstadoObjeto> ConsultarPropriedade <TEstadoObjeto>(Buscador <TObjeto> buscador, TObjeto objeto,
                                                                         Expression <Func <TObjeto, ICollection <TEstadoObjeto> > > propriedade) where TEstadoObjeto : class, IEntidade
 {
     return((ICollection <TEstadoObjeto>)ConsultarPropriedade(buscador, objeto, (LambdaExpression)propriedade));
 }