/// <summary> /// Update binding to reflect data or filter changes /// </summary> public override void UpdateFilter() { // always active filter SortableBindingList <ChampionInfo> new_binding = new SortableBindingList <ChampionInfo>(this.Source.Where(info => info != null).ToList <ChampionInfo>()); // other filters string filter_category = this.FilterItems.Count > 0 ? this.FilterItems[0] : null; switch (filter_category) { case "Free": if (this.SearchText != "Any") { bool free_to_play = this.SearchText == "Free"; new_binding = new SortableBindingList <ChampionInfo>(this.Source.Where(info => info.FreeToPlay == free_to_play).ToList <ChampionInfo>()); } break; case "Name": new_binding = new SortableBindingList <ChampionInfo>(this.Source.Where(info => info.Name.ToUpper().Contains(this.SearchText.ToUpper())).ToList <ChampionInfo>()); break; case "Tags": new_binding = new SortableBindingList <ChampionInfo>(this.Source.Where(info => info.TagList.ToUpper().Contains(this.SearchText.ToUpper())).ToList <ChampionInfo>()); break; case "Title": new_binding = new SortableBindingList <ChampionInfo>(this.Source.Where(info => info.Title.ToUpper().Contains(this.SearchText.ToUpper())).ToList <ChampionInfo>()); break; // TODO: 07/20/16 implement more filters here default: break; } this.Binding = new_binding; this.OnDataUpdateFinished(); return; }
/// <summary> /// Update binding to reflect data or filter changes /// </summary> public override void UpdateFilter() { // always active filter SortableBindingList <ItemInfo> new_binding = new SortableBindingList <ItemInfo>(this.Source.Where(info => string.IsNullOrWhiteSpace(info.RequiredChampion)).ToList <ItemInfo>()); // other filters if (this.FilterItems.Contains("Consumables")) { new_binding = new SortableBindingList <ItemInfo>(new_binding.Where(info => info.Consumable).ToList <ItemInfo>()); } if (this.FilterItems.Contains("Non-Consumables")) { new_binding = new SortableBindingList <ItemInfo>(new_binding.Where(info => !info.Consumable).ToList <ItemInfo>()); } // TODO: 07/20/16 implement more filters here this.Binding = new_binding; this.OnDataUpdateFinished(); return; }
private void ChampionDataManager_DataUpdateFinished() { this.Source = new SortableBindingList <T>(this.dataManager.GetList()); this.UpdateFilter(); return; }