public void Refresh() { AllSeaCreatures.Clear(); SeaCreatures.Clear(); GetSeaCreatures(); SelectedSeaCreature = null; }
public async void GetSeaCreatures() { AllSeaCreatures = await Repo.GetSeaCreatures(); foreach (SeaCreature sc in AllSeaCreatures) { SeaCreatures.Add(sc); } }
public void PerformFiltering() { if (_filter == null) { _filter = ""; } //If _filter has a value (ie. user entered something in Filter textbox) //Lower-case and trim string var lowerCaseFilter = Filter.ToLowerInvariant().Trim(); //Use LINQ query to get all personmodel names that match filter text, as a list var result = AllSeaCreatures.Where(n => n.name.ToLowerInvariant() .Contains(lowerCaseFilter)) .ToList(); //Get list of values in current filtered list that we want to remove //(ie. don't meet new filter criteria) var toRemove = SeaCreatures.Except(result).ToList(); //Loop to remove items that fail filter foreach (var note in toRemove) { SeaCreatures.Remove(note); } var resultCount = result.Count; // Add back in correct order. for (int i = 0; i < resultCount; i++) { var resultItem = result[i]; if (i + 1 > SeaCreatures.Count || !SeaCreatures[i].Equals(resultItem)) { SeaCreatures.Insert(i, resultItem); } } }