예제 #1
0
        public static Dictionary <String, String> obterMapeamento(Type tipo, String sufixoMapeamento = "")
        {
            Dictionary <string, string> mapeamento = new Dictionary <string, string>();
            //MapeamentoImplicito mi = tipo.GetCustomAttribute<MapeamentoImplicito>(true);
            //object[] attributes = tipo.GetCustomAttributes(typeof (MapeamentoImplicito), true);
            MapeamentoImplicito mi = tipo.obterAtributo <MapeamentoImplicito>(true); //attributes.FirstOrDefault() as MapeamentoImplicito;

            PropertyInfo[] propriedades = tipo.GetProperties();
            if (mi == null)
            {
                foreach (PropertyInfo p in propriedades)
                {
                    Mapear mapear = p.obterAtributo <Mapear>(true);
                    if (mapear == null)
                    {
                        continue;
                    }
                    mapeamento.Add(p.Name, converteMapeamento(String.IsNullOrEmpty(mapear.ColunaBanco) ? p.Name : mapear.ColunaBanco, sufixoMapeamento));
                }
            }
            else
            {
                foreach (PropertyInfo p in propriedades)
                {
                    NaoMapear naoMapear = p.obterAtributo <NaoMapear>(true);
                    if (naoMapear != null)
                    {
                        continue;
                    }

                    Mapear mapear = p.obterAtributo <Mapear>(true);
                    if (mapear == null)
                    {
                        mapeamento.Add(p.Name, converteMapeamento(p.Name, sufixoMapeamento));
                    }
                    else
                    {
                        mapeamento.Add(p.Name, converteMapeamento(String.IsNullOrEmpty(mapear.ColunaBanco) ? p.Name : mapear.ColunaBanco, sufixoMapeamento));
                    }
                }
            }
            return(mapeamento);
        }
예제 #2
0
        public static IList <MapeamentoInfo> obterMapeamento(Type tipo, String sufixoMapeamento = "")
        {
            IList <MapeamentoInfo> mapeamento = new List <MapeamentoInfo>();
            MapeamentoImplicito    mi         = tipo.obterAtributo <MapeamentoImplicito>(true);

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

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