Example #1
0
        public static IList <DBFieldMetadata> GetFieldsMetadata(Type t)
        {
            List <DBFieldMetadata> fieldAttribs = new List <DBFieldMetadata>();

            PropertyInfo[] pis = t.GetProperties();
            foreach (PropertyInfo pi in pis)
            {
                DBFieldMetadataAttribute attr = (DBFieldMetadataAttribute)System.Attribute.GetCustomAttribute(pi, typeof(DBFieldMetadataAttribute));
                //fieldAttribs.Add(pi.Name, attr);
                fieldAttribs.Add(new DBFieldMetadata()
                {
                    Key = pi.Name, Attrib = attr
                });
            }
            return(fieldAttribs.OrderBy(a => a.Attrib.Ordering).ToList());
        }
Example #2
0
        /// <summary>
        /// Reflect through Persist object and get Properties
        /// NonTableField excluded
        /// </summary>
        /// <param name="t"></param>
        /// <param name="instance"></param>
        /// <returns></returns>
        public static Dictionary <string, object> GetDBTableFields(Type t, object instance)
        {
            Dictionary <string, object> Fields = new Dictionary <string, object>();

            PropertyInfo[] pis = instance.GetType().GetProperties();
            foreach (PropertyInfo p in pis)
            {
                DBFieldMetadataAttribute attr = (DBFieldMetadataAttribute)System.Attribute.GetCustomAttribute(p, typeof(DBFieldMetadataAttribute));
                if (attr.NonTableField)
                {
                    continue;
                }
                Fields.Add(p.Name, p.GetValue(instance, null));
            }
            return(Fields);
        }
Example #3
0
        public static string GetQualifiedDBTableFieldsCommaSeparated(Type t)
        {
            string        tableName = Reflect.GetEntityMetadata(t).TableName;
            StringBuilder Fields    = new StringBuilder("");

            PropertyInfo[] pis = t.GetProperties();
            foreach (PropertyInfo p in pis)
            {
                DBFieldMetadataAttribute attr = (DBFieldMetadataAttribute)System.Attribute.GetCustomAttribute(p, typeof(DBFieldMetadataAttribute));
                if (attr.NonTableField)
                {
                    Fields.AppendFormat("{0},", p.Name);
                }
                else
                {
                    Fields.AppendFormat("{0}.{1},", tableName, p.Name);
                }
            }
            return(Fields.ToString().TrimEnd(','));
        }
Example #4
0
        public static string GetQualifiedDBTableField(Type t, string name)
        {
            if (string.IsNullOrEmpty(name))
            {
                return("");
            }
            string                   tableName = Reflect.GetEntityMetadata(t).TableName;
            string                   field     = "";
            PropertyInfo             p         = t.GetProperty(name);
            DBFieldMetadataAttribute attr      = (DBFieldMetadataAttribute)System.Attribute.GetCustomAttribute(p, typeof(DBFieldMetadataAttribute));

            if (attr.NonTableField)
            {
                field = p.Name;
            }
            else
            {
                field += tableName + "." + p.Name;
            }
            return(field);
        }