private void Search() { foreach (CheckedCategory cc in Categories) { cc.Checked = false; } if (String.IsNullOrEmpty(SearchString)) { return; } FilteredGates.Clear(); Regex regex = new Regex(SearchString, RegexOptions.IgnoreCase); SQLiteCommand com = new SQLiteCommand(SQLiteCon); com.CommandText = "SELECT * FROM view_Gates"; SQLiteDataReader r = com.ExecuteReader(); while (r.Read()) { string Name = r.GetString(0); if (regex.IsMatch(Name)) { int InputsNumber = r.GetInt32(1); string function = r.GetString(2); FilteredGates.Add(new GateViewModel(new Gate(Name, InputsNumber, function))); } } }
public void FilterGates(object sender, ListChangedEventArgs e) { FilteredGates.Clear(); CategoryQueryBilder qb = new CategoryQueryBilder(); foreach (CheckedCategory cc in Categories) { if (cc.Checked) { qb.Categories.Add(cc.Category); } } SQLiteCommand com = new SQLiteCommand(SQLiteCon); com.CommandText = qb.Query; SQLiteDataReader r = com.ExecuteReader(); while (r.Read()) { string name = r.GetString(0); int inpNumber = r.GetInt32(1); string function = r.GetString(2); Gate g = new Gate(name, inpNumber, function); GateViewModel gvm = new GateViewModel(g); FilteredGates.Add(gvm); } }