public void PopulateCategories()
{
Categories = new List<ICategory>();
foreach (var categorySetting in Factory.ConfigurationSettings)
{
var category = new Category { Name = categorySetting.Key.Name, Description = categorySetting.Key.Description };
foreach (var componentSetting in categorySetting.Value)
{
var componentType = Type.GetType(componentSetting.Type);
var component = Factory.GetComponent(componentType);
if (component != null)
{
component.Name = componentSetting.Name;
component.Description = componentSetting.Description;
category.Components.Add(component);
}
}
Categories.Add(category);
}
}