Пример #1
0
        protected SqlConstrutor(IEntidade entidade, String tabela, String apelido = null)
        {
            this.entidade    = entidade;
            tabelaPrincipal  = tabela;
            apelidoPrincipal = String.IsNullOrEmpty(apelido)
                                   ? entidade.GetType().Name
                                   : apelido;

            listaJoins = new List <Uniao>();
            Mapeamento = MapeamentoUtils.obterMapeamento(entidade, apelidoPrincipal);
        }
Пример #2
0
        public static List <Resultado> obterLista <Resultado>(IDataReader dr, int maxLinhas = 0)
        {
            Type tipo = typeof(Resultado);

            ConstructorInfo construtor = tipo.GetConstructor(Type.EmptyTypes);

            if (construtor == null)
            {
                throw new Exception(String.Format("Não foi possível encontrar construtor vazio para a classe {0}.", tipo.FullName));
            }

            Dictionary <String, String> mapeamento = MapeamentoUtils.obterMapeamento(tipo);

            throw new Exception();
        }
Пример #3
0
            public Uniao(SqlConstrutor <Tipo> construtor, String nome, Type tipo, String tabela, String apelido = null)
            {
                sqlConstrutor = construtor;
                Nome          = nome;
                Tipo          = tipo;
                Tabela        = tabela;
                Apelido       = apelido ?? tabela;
                ConstructorInfo constructorInfo = Tipo.GetConstructor(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[0], null);

                instancia = (IEntidade)constructorInfo.Invoke(null);


                mapear = sqlConstrutor.entidade.GetType().GetProperty(nome).obterAtributo <Mapear>(true);//.GetRuntimeProperty(nome).GetCustomAttribute<Mapear>();
                if (mapear == null)
                {
                    throw new Exception(String.Format("Propriedade {0} da entidade {1} não possui a assinatura Mapear.", Nome, sqlConstrutor.entidade.GetType().FullName));
                }
                Mapeamento = MapeamentoUtils.obterMapeamento(instancia, Apelido);
            }
Пример #4
0
        protected Dictionary <String, String> obterMapeamento()
        {
            if (mapeamento != null)
            {
                return(mapeamento);
            }

            mapeamento = MapeamentoUtils.obterMapeamento(obterInstancia(), sufixoMapeamento);
            return(mapeamento);

            //mapeamento = new Dictionary<string, string>();
            //Type tipo = obterInstancia().GetType();
            //MapeamentoImplicito mi = tipo.GetCustomAttribute<MapeamentoImplicito>(true);
            //PropertyInfo[] propriedades = tipo.GetProperties();
            //if (mi == null)
            //{
            //    foreach (PropertyInfo p in propriedades)
            //    {
            //        Mapear mapear = p.GetCustomAttribute<Mapear>(true);
            //        if (mapear == null)
            //            continue;
            //        mapeamento.Add(p.Name, converteMapeamento(String.IsNullOrEmpty(mapear.ColunaBanco) ? p.Name : mapear.ColunaBanco));
            //    }
            //}
            //else
            //{
            //    foreach (PropertyInfo p in propriedades)
            //    {
            //        NaoMapear naoMapear = p.GetCustomAttribute<NaoMapear>(true);
            //        if (naoMapear != null)
            //            continue;

            //        Mapear mapear = p.GetCustomAttribute<Mapear>(true);
            //        if (mapear == null)
            //            mapeamento.Add(p.Name, converteMapeamento(p.Name));
            //        else
            //            mapeamento.Add(p.Name, converteMapeamento(String.IsNullOrEmpty(mapear.ColunaBanco) ? p.Name : mapear.ColunaBanco));
            //    }
            //}
            //return mapeamento;
        }