public IEnumerable<Enumeration> Enumerations(bool includeParentEnums)
{
var list = new List<Enumeration>();
foreach (KeyValuePair<string, JsonData> kvp in DocumentRoot[ShapesKey])
{
var type = kvp.Value["type"];
if (type != null && type.ToString() == "string" && kvp.Value["enum"] != null)
list.Add(new Enumeration(this, kvp.Key, kvp.Value));
}
list = list.OrderBy(x => x.Name).ToList();
if (includeParentEnums || this.ParentModel == null)
{
return list;
}
else
{
// Remove enums already defined in the parent model
return list.Where(e => ParentModel.Enumerations(true).All(en => !e.ModelName.Equals(en.ModelName)));
}
}