public static ModelType CreateFrom(Template template) { var t = new ModelType { Name = string.Format(ModelData.TemplateBaseSubNamePattern, template.FormId), SuperName = ModelData.TemplateBaseTypeName, OwnMetaCategories = null }; var sections = template.Sections ?? new List <TemplateSection>(); foreach (var section in sections) { t.OwnMetaCategories = t.OwnMetaCategories ?? new List <ModelTypeMetaCategory>(); var category = ModelTypeMetaCategory.CreateFrom(section); t.OwnMetaCategories.Add(category); } return(t); }
public static ModelType CreateFrom(JProperty typeProperty) { var t = new ModelType { Name = typeProperty.Name, SuperName = JsonHelper.FindTokenValue <string>(typeProperty, ModelData.TypesSuperKey, true), OwnMetaCategories = null }; var categories = JsonHelper.FindToken(typeProperty.Value, ModelData.TypesMetaKey, true); if (categories != null) { foreach (JProperty categoryProperty in categories.Children()) { t.OwnMetaCategories = t.OwnMetaCategories ?? new List <ModelTypeMetaCategory>(); var category = ModelTypeMetaCategory.CreateFrom(categoryProperty); t.OwnMetaCategories.Add(category); } } return(t); }