private async void SearchBoxTextChanged(object sender, TextChangedEventArgs e) { try { await Task.Delay(500); var text = (sender as TextBox).Text.Trim().ToLower(); if (text == string.Empty) { MenuItemsControl.ItemsSource = MenuItemsCollection; GridBrowser.Visibility = Visibility.Collapsed; GridAllApps.Visibility = Visibility.Visible; return; } var found = MenuItemsCollection.Where(x => x.Name.ToLower().StartsWith(text)).AsParallel(); if (!found.Any() && CheckBoxGoogleSearch.IsChecked == true) { StartBrowsing("https://www.google.com/search?q=" + text); return; } GridBrowser.Visibility = Visibility.Collapsed; GridAllApps.Visibility = Visibility.Visible; MenuItemsControl.ItemsSource = found; } catch (Exception exception) { MessageBox.Show(exception.ToString()); } }
private async void SaveToJsonDatabase() { try { JsonSerializerOptions options = new JsonSerializerOptions { MaxDepth = 0, IgnoreNullValues = true, IgnoreReadOnlyProperties = true }; await using FileStream createStream = File.Create("Data.Json"); await JsonSerializer.SerializeAsync(createStream, MenuItemsCollection.Where(x => x.Type == "Manual" || x.Type == "AutoFav"), options); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }