public IEnumerable<object> FindPart(string query)
{
List<object> devices = new List<object>();
foreach (DeviceManufacture manufacture in Manufacturers)
{
foreach (DeviceFamily family in manufacture.Families)
{
foreach (Device device in family.Devices)
{
// does if match the device?
if (string.Compare(device.Name, query, true) == 0)
{
devices.Add(device);
}
foreach (DevicePart part in device.Parts)
{
// does if match the part?
if (string.Compare(part.Name, query, true) == 0)
{
devices.Add(part);
}
foreach (DevicePartSpeed speed in part.Speeds)
{
// does if match the part and speed?
if (string.Compare(speed.Name, query, true) == 0)
{
devices.Add(speed);
}
else if (string.Compare(speed.AlternateName, query, true) == 0)
{
devices.Add(speed);
}
}
}
}
}
}
return devices;
}