Exemplo n.º 1
0
        public List <string> FieldGroups(string type = null)
        {
            var result      = new List <string>();
            var fieldGroups = repo.GetPuckMeta().Where(x => x.Name.StartsWith(DBNames.FieldGroups)).ToList();

            fieldGroups.ForEach(x =>
            {
                string typeName  = x.Name.Replace(DBNames.FieldGroups, "");
                string groupName = x.Key;
                string FieldName = x.Value;
                result.Add(string.Concat(typeName, ":", groupName, ":", FieldName));
            });
            if (!string.IsNullOrEmpty(type))
            {
                //var targetType = ApiHelper.GetType(type);
                var targetType = ApiHelper.GetTypeFromName(type);
                var baseTypes  = BaseTypes(targetType);
                baseTypes.Add(targetType);
                result = result
                         .Where(x => baseTypes
                                .Any(xx => xx.Name.Equals(x.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries)[0])))
                         .ToList();
            }
            return(result);
        }
Exemplo n.º 2
0
        public List <Type> AllowedTypes(string typeName)
        {
            var meta = repo.GetPuckMeta().Where(x => x.Name == DBNames.TypeAllowedTypes && x.Key.Equals(typeName)).ToList();
            //var result = meta.Select(x=>ApiHelper.GetType(x.Value)).ToList();
            var result = meta.Select(x => ApiHelper.GetTypeFromName(x.Value)).ToList();

            return(result);
        }
Exemplo n.º 3
0
 public static BaseModel RevisionToBaseModel(PuckRevision revision)
 {
     try
     {
         //var model = JsonConvert.DeserializeObject(revision.Value, ConcreteType(ApiHelper.GetType(revision.Type)));
         var model = JsonConvert.DeserializeObject(revision.Value, ConcreteType(ApiHelper.GetTypeFromName(revision.Type)));
         var mod   = model as BaseModel;
         mod.Id        = revision.Id;
         mod.ParentId  = revision.ParentId;
         mod.Path      = revision.Path; mod.SortOrder = revision.SortOrder; mod.NodeName = revision.NodeName; mod.Published = revision.Published;
         mod.Type      = revision.Type;
         mod.TypeChain = revision.TypeChain;
         return(mod);
     }
     catch (Exception ex)
     {
         return(null);
     }
 }