Beispiel #1
0
        public static void EnsureDefaultValues(KModel.KMeta meta)
        {
            foreach (var item in meta.Columns)
            {
                SetDefault(item.Header, "displayName", item.Name);
            }

            void SetDefault(Dictionary <string, string> dict, string key, string defaultValue)
            {
                if (!dict.ContainsKey(key))
                {
                    dict[key] = defaultValue;
                }
            }
        }
Beispiel #2
0
        public static KModel.KMeta PraseMeta(Type ModelType)
        {
            KModel.KMeta meta = new KModel.KMeta();

            foreach (var item in ModelType.GetProperties())
            {
                if (item.CanRead && item.CanWrite && item.PropertyType.IsPublic)
                {
                    Kooboo.Data.Definition.KModel.Column col = new KModel.Column();
                    col.Name = item.Name;

                    var allattributes = item.GetCustomAttributes(false);

                    foreach (var att in allattributes)
                    {
                        if (att is IMetaAttribute)
                        {
                            var metaAtt = att as IMetaAttribute;

                            if (metaAtt.IsHeader)
                            {
                                col.Header[metaAtt.PropertyName] = metaAtt.Value();
                            }
                            else
                            {
                                col.Cell[metaAtt.PropertyName] = metaAtt.Value();
                            }
                        }
                    }

                    meta.Columns.Add(col);
                }
            }
            EnsureDefaultValues(meta);
            return(meta);
        }