private void FilterApps() { FilteredApplicationsSource.Clear(); var appNames = AppNameFilter?.Split(';')?.Select(x => x.Trim().ToLower()) ?? Array.Empty <string>(); var isAll = !appNames.Any(); foreach (var item in ApplicationsSource.Where(x => isAll ? true : appNames.Any(y => x.Name.ToLower().Contains(y)))) { FilteredApplicationsSource.Add(item); } }
public async Task UpdateAllHoloLensApplicationsAsync() { await Task.WhenAll(ManagedHoloLens.Select(x => x.UpdateApplicationsAsync())); var apps = ManagedHoloLens.SelectMany(x => x.Applications) .GroupBy(x => x.AppId) .Where(x => x.Count() == ManagedHoloLens.Count) .Select(x => x.First()) .Select(x => new HoloLensApplication(x.AppId, x.Name, x.PackageName)) .OrderBy(x => x.Name); ApplicationsSource.Clear(); foreach (var app in apps) { ApplicationsSource.Add(app); } FilterApps(); }