public void Execute() { CollectionStorage storage = CollectionStorage.GetInstance(); IEnumerable <VinylRecord> result = storage.GetCollection().ToList <VinylRecord>(); if (searchName != "") { result = result.Where(item => item.Name.Contains(searchName)).Select(item => item); } if (fromPrice >= 0 && toPrice != 0) { result = result.Where(item => item.Price >= fromPrice && item.Price <= toPrice).Select(item => item); } if (searchArtistName != "") { result = result.Where(item => item.Artist.Contains(searchArtistName)).Select(item => item); } if (searchLable != "") { result = result.Where(item => item.Lable.Contains(searchLable)).Select(item => item); } storage.GetCollection().Clear(); foreach (var item in result) { storage.GetCollection().Add(item); } }
public MainWindow() { InitializeComponent(); this.invoker = new Invoker(); storage = CollectionStorage.GetInstance(); NewVinylRecord = new VinylRecord(); commandCollection = CommandCollection.GetInstance(); recordCollectionHistory = new RecordCollectionHistory(); recordCollectionHistory.History.Push(storage.SaveState()); AddRecord_grid.DataContext = NewVinylRecord; recordsDataGrid.ItemsSource = storage.GetCollection(); App.LanguageChanged += LanguageChanged; CultureInfo currLang = App.Language; foreach (var lang in App.Languages) { MenuItem menuLang = new MenuItem(); menuLang.Header = lang.DisplayName; menuLang.Tag = lang; menuLang.IsChecked = lang.Equals(currLang); menuLang.Click += ChangeLanguageClick; Main_menu.Items.Add(menuLang); } }