private void UpdateTunableVersions() {
if (_selectedCar == null) {
TunableVersions.Clear();
HasChildren = false;
_previousTunableParent = null;
return;
}
var parent = SelectedCar.ParentId == null ? SelectedCar : SelectedCar.Parent;
if (parent == _previousTunableParent) {
return;
}
if (parent == null) {
TunableVersions.Clear();
HasChildren = false;
_previousTunableParent = null;
return;
}
_previousTunableParent = parent;
var children = parent.Children.Where(x => x.Enabled).ToList();
HasChildren = children.Any();
if (!HasChildren) {
TunableVersions.Clear();
return;
}
TunableVersions.ReplaceEverythingBy(new [] { parent }.Where(x => x.Enabled).Union(children));
if (SelectedTunableVersion == null) {
SelectedTunableVersion = SelectedCar;
}
}