void CheckDevicesGroup(object selectedDestinationOSDevicesGroup) { DestinationOSDevicesGroup destinationOSDevicesGroup = GroupedDevices.Where(d => d.DeviceClass == (string)selectedDestinationOSDevicesGroup).FirstOrDefault(); if (destinationOSDevicesGroup != null) { foreach (DestinationOSDeviceInfo item in destinationOSDevicesGroup.Drivers) { item.SelectedForInstall = destinationOSDevicesGroup.GroupChecked; } } }
void CheckDevice(object selectedDevice) { DestinationOSDeviceInfo device = allDrivers.DownloadedDestinationOSDrivers.Where(d => d.Id == (string)selectedDevice).FirstOrDefault(); if (device != null) { DestinationOSDevicesGroup destinationOSDevicesGroup = GroupedDevices.Where(d => d.DeviceClass == device.DeviceClass).FirstOrDefault(); if (destinationOSDevicesGroup != null && destinationOSDevicesGroup.Drivers.Where(d => d.SelectedForInstall).Count() == 0) { destinationOSDevicesGroup.GroupChecked = false; } else { if (destinationOSDevicesGroup != null && destinationOSDevicesGroup.Drivers.Where(d => d.SelectedForInstall == false).Count() == 0) { destinationOSDevicesGroup.GroupChecked = true; } } } }
void UpdateGroupedDevices() { foreach (DestinationOSDeviceInfo driver in allDrivers.DownloadedDestinationOSDrivers) { DestinationOSDevicesGroup destinationOSDevicesGroup = GroupedDevices.Where(g => g.DeviceClass == driver.DeviceClass).FirstOrDefault(); if (destinationOSDevicesGroup == null) { GroupedDevices.Add(new DestinationOSDevicesGroup(driver.DeviceClass, driver.DeviceClassName, driver.DeviceClassImageSmall, new List <DestinationOSDeviceInfo> { driver })); } else { destinationOSDevicesGroup.Drivers.Add(driver); } } OrderedDeviceGroups = CollectionViewSource.GetDefaultView(GroupedDevices); OrderedDeviceGroups.SortDescriptions.Clear(); OrderedDeviceGroups.SortDescriptions.Add(new SortDescription("Order", ListSortDirection.Ascending)); OrderedDeviceGroups.Refresh(); }