/// <summary> /// Composites the filter. /// </summary> /// <param name="obj">The object.</param> /// <returns></returns> public bool CompositeFilter(object obj) { var item = obj as NursingHome; if (item == null || string.IsNullOrEmpty(FilterText)) { return(true); } var filterTxt = FilterText.Trim(); if (SelectedFilter == FilterEnumerations[0]) //Nursing Home Name { return(!string.IsNullOrEmpty(item.Name) && item.Name.ContainsIgnoreCase(filterTxt)); } if (SelectedFilter == FilterEnumerations[1]) //City { return(!string.IsNullOrEmpty(item.City) && item.City.ContainsIgnoreCase(filterTxt)); } if (SelectedFilter == FilterEnumerations[2]) //State { return(!string.IsNullOrEmpty(item.State) && item.State.ContainsIgnoreCase(filterTxt)); } return(SelectedFilter != FilterEnumerations[3] || (!string.IsNullOrEmpty(item.ProviderId) && item.ProviderId.ContainsIgnoreCase(filterTxt))); }
private bool FilterRow(object param) { if (string.IsNullOrEmpty(FilterText)) { return(true); } var itemViewModel = param as SecurityDataViewModel; if (itemViewModel == null) { return(false); } return(itemViewModel.Security.Name.ToLower().Contains(FilterText.Trim().ToLower())); }
private bool FilterByName(object obj) { var country = obj as CountryViewModel; if (country == null) { return(false); } if (string.IsNullOrWhiteSpace(FilterText)) { return(true); } return(country.Name.StartsWith(FilterText.Trim(), StringComparison.CurrentCultureIgnoreCase)); }
/// <summary> /// Composites the filter. /// </summary> /// <param name="obj">The object.</param> /// <returns></returns> private bool CompositeFilter(object obj) { var item = obj as db.Physician; if (item == null || string.IsNullOrEmpty(FilterText) || string.IsNullOrEmpty(SelectedFilter)) { return(true); } var selctedFilterEnum = EnumExtensions.GetEnumValueFromDescription <FilterEnum>(SelectedFilter); var filterTxt = FilterText.Trim(); switch (selctedFilterEnum) { case FilterEnum.Npi: return(item.Npi.HasValue && item.Npi.Value.ToString(CultureInfo.CurrentCulture).ContainsIgnoreCase(filterTxt)); case FilterEnum.PhysicianName: var physicianName = string.Format("{0} {1}", item.FirstName, item.LastName); return(!string.IsNullOrEmpty(physicianName) && physicianName.ContainsIgnoreCase(filterTxt)); case FilterEnum.City: return(!string.IsNullOrEmpty(item.CityForDisplay) && item.CityForDisplay.ContainsIgnoreCase(filterTxt.ToLower())); case FilterEnum.State: return(!string.IsNullOrEmpty(item.StateForDisplay) && item.StateForDisplay.ContainsIgnoreCase(filterTxt.ToLower())); case FilterEnum.PrimarySpeciality: return(!string.IsNullOrEmpty(item.PrimarySpecialty) && item.PrimarySpecialty.ContainsIgnoreCase(filterTxt)); default: return(true); } }
private Task <IEnumerable <long> > GetCalls(bool filterWithRegex = false) { IStore s = Store; Regex r = null; bool filter = !string.IsNullOrEmpty(FilterText); if (filter && filterWithRegex) { try { var str = /*"^" +*/ FilterText.Replace("(", "\\(").Replace(")", "\\)").Replace(".", "\\.").Replace("*", ".*") /*+ "$"*/; r = new Regex(str, RegexOptions.Compiled | RegexOptions.IgnoreCase); } catch { } } if (!filter) { var ret = Task.Run(() => (IEnumerable <long>)s.IterateCallsWithMethodRuleSet().ToList()); return(ret); } else { if (filterWithRegex) { var ret = Task.Run(() => (IEnumerable <long>)s.IterateCallsWithMethodRuleSet().AsParallel().Where(n => r.IsMatch(s.GetCallFullMethodName(n))).ToList()); return(ret); } else { var fText = FilterText.Trim().ToUpperInvariant(); var ret = Task.Run(() => (IEnumerable <long>)s.IterateCallsWithMethodRuleSet().AsParallel().Where(n => s.GetCallFullMethodName(n).ToUpperInvariant().Contains(fText)).ToList()); return(ret); } } }
private async Task UpdateFilter() { bool[] filters = new bool[FilterButtons.Count]; for (int i = 0; i < FilterButtons.Count; i++) { filters[i] = FilterButtons[i].IsVisible && FilterButtons[i].IsChecked == true; } bool[] foundFilters = new bool[FilterButtons.Count]; bool[] foundButFilteredFilters = new bool[FilterButtons.Count]; CompletionListControl.Filter = FilterText; string filter = FilterText?.Trim(); int index = 0; int firstVisibleIndex = -1; int visibleCount = 0; int firstExactMatch = -1; if (!filters.Any(a => a)) { for (int i = 0; i < filters.Length; i++) { filters[i] = true; } } for (int i = 0; i < CompletionListControl.Items.Count; i++) { CompletionItem item = CompletionListControl.Items[i].item; int foundIndex = -1; if (item.Properties.ContainsKey("SymbolKind")) { switch ((SymbolKind)(int.Parse(item.Properties["SymbolKind"]))) { case SymbolKind.Property: CompletionListControl.Hidden[i] = !filters[8]; foundIndex = 8; break; case SymbolKind.Event: CompletionListControl.Hidden[i] = !filters[7]; foundIndex = 7; break; case SymbolKind.Field: CompletionListControl.Hidden[i] = !filters[6]; foundIndex = 6; break; case SymbolKind.Method: CompletionListControl.Hidden[i] = !filters[9]; foundIndex = 9; break; case SymbolKind.NamedType: case SymbolKind.DynamicType: case SymbolKind.ArrayType: case SymbolKind.PointerType: if (item.Tags.Contains(WellKnownTags.Class)) { CompletionListControl.Hidden[i] = !filters[1]; foundIndex = 1; } else if (item.Tags.Contains(WellKnownTags.Delegate)) { CompletionListControl.Hidden[i] = !filters[5]; foundIndex = 5; } else if (item.Tags.Contains(WellKnownTags.Enum)) { CompletionListControl.Hidden[i] = !filters[4]; foundIndex = 4; } else if (item.Tags.Contains(WellKnownTags.Structure)) { CompletionListControl.Hidden[i] = !filters[2]; foundIndex = 2; } else if (item.Tags.Contains(WellKnownTags.Interface)) { CompletionListControl.Hidden[i] = !filters[3]; foundIndex = 3; } else { CompletionListControl.Hidden[i] = !filters[12]; foundIndex = 12; } break; case SymbolKind.Namespace: CompletionListControl.Hidden[i] = !filters[0]; foundIndex = 0; break; case SymbolKind.Local: case SymbolKind.Parameter: CompletionListControl.Hidden[i] = !filters[10]; foundIndex = 10; break; default: CompletionListControl.Hidden[i] = !filters[12]; foundIndex = 12; break; } } else if (item.Tags.Contains(WellKnownTags.Keyword)) { CompletionListControl.Hidden[i] = !filters[11]; foundIndex = 11; } else if (item.Tags.Contains(WellKnownTags.Local) || item.Tags.Contains(WellKnownTags.Parameter)) { CompletionListControl.Hidden[i] = !filters[10]; foundIndex = 10; } else if (item.Tags.Contains(WellKnownTags.Class)) { CompletionListControl.Hidden[i] = !filters[1]; foundIndex = 1; } else if (item.Tags.Contains(WellKnownTags.Enum)) { CompletionListControl.Hidden[i] = !filters[4]; foundIndex = 4; } else { CompletionListControl.Hidden[i] = !filters[12]; foundIndex = 12; } if (string.IsNullOrEmpty(filter)) { foundButFilteredFilters[foundIndex] = true; //CompletionListControl.Hidden[i] |= false; } else if (item.FilterText.StartsWith(filter, StringComparison.OrdinalIgnoreCase)) { foundButFilteredFilters[foundIndex] = true; //CompletionListControl.Hidden[i] |= false; } else { CompletionListControl.Hidden[i] = true; } if (!CompletionListControl.Hidden[i]) { foundFilters[foundIndex] = true; } if (firstVisibleIndex < 0 && !CompletionListControl.Hidden[i]) { firstVisibleIndex = index; } if (!CompletionListControl.Hidden[i]) { visibleCount++; if (!string.IsNullOrEmpty(filter) && item.FilterText.StartsWith(filter) && firstExactMatch < 0) { firstExactMatch = index; } } index++; } for (int i = 0; i < foundFilters.Length; i++) { ((Control)this.FindControl <StackPanel>("FilterContainer").Children[i]).IsEnabled = foundFilters[i] || foundButFilteredFilters[i]; if (((Control)this.FindControl <StackPanel>("FilterContainer").Children[i]).IsEnabled) { ((Control)this.FindControl <StackPanel>("FilterContainer").Children[i]).Opacity = 1; } else { ((Control)this.FindControl <StackPanel>("FilterContainer").Children[i]).Opacity = 0.25; } } if ((SelectedIndex < 0 || (filter != null && !CompletionListControl.Items[CompletionListControl.SelectedIndex].item.FilterText.StartsWith(filter))) && firstExactMatch > 0) { await SetSelectedIndex(firstExactMatch); } else if ((SelectedIndex < 0 || CompletionListControl.Hidden[CompletionListControl.SelectedIndex]) && firstVisibleIndex >= 0) { await SetSelectedIndex(firstVisibleIndex); } if (!AnchorOnTop) { this.Height = Math.Min(this.MaxWindowHeight, visibleCount * 20 + 33); } else { this.Height = Math.Min(this.MaxWindowHeight, visibleCount * 20 + 33); double prevX = ((TranslateTransform)this.RenderTransform).X; this.RenderTransform = new TranslateTransform(prevX, this.TopAnchor - this.Height); } VisibleItems = visibleCount; await UpdateScrollViewer(); if (visibleCount == 0) { this.IsVisible = false; } CompletionListControl.InvalidateMeasure(); await SetSelectedIndex(SelectedIndex); }