public void ApplySearchText(SearchStatement searchStatement) { if (searchStatement == null || searchStatement.IsEmpty) { IsVisible = true; return; } IsVisible = searchStatement.IsMatching(Localization.Get(skill.Name)) || searchStatement.IsMatching(Localization.Get(skill.Description)) || skill.Abilities.Any(x => searchStatement.IsMatching(Localization.Get(x.Description))) || searchStatement.IsMatching(JewelsText); }
private void ComputeVisibility() { if (isLoadingConfiguration) { return; } var searchStatement = SearchStatement.Create(SearchText, GlobalData.Instance.Aliases); foreach (JewelOverrideViewModel vm in Jewels) { ComputeVisibility(vm, searchStatement); } }
public static void OnCodeElement(SearchStatement statement, CodeElementsParser.SearchStatementContext context) { if (statement.TableToSearch == null) { return; // syntax error } if (statement.TableToSearch.StorageArea is DataOrConditionStorageArea && ((DataOrConditionStorageArea)statement.TableToSearch.StorageArea).Subscripts.Count > 0) { DiagnosticUtils.AddError(statement, "SEARCH: Illegal subscripted identifier", GetIdentifierContext(context)); } if (statement.TableToSearch.StorageArea?.ReferenceModifier != null) { DiagnosticUtils.AddError(statement, "SEARCH: Illegal reference-modified identifier", GetIdentifierContext(context)); } }
private void OnSearchTextChanged() { if (string.IsNullOrWhiteSpace(searchText)) { foreach (WeaponViewModel x in RootWeapons) { x.ClearFiltered(); } } else { var searchStatement = SearchStatement.Create(searchText, GlobalData.Instance.Aliases); foreach (WeaponViewModel x in RootWeapons) { x.UpdateFiltered(searchStatement); } } }
private void OnSearchTextChanged() { if (string.IsNullOrWhiteSpace(searchText)) { foreach (AdvancedSearchEquipment x in Equipments) { x.IsVisible = true; } } else { var searchStatement = SearchStatement.Create(searchText, GlobalData.Instance.Aliases); foreach (AdvancedSearchEquipment x in Equipments) { x.IsVisible = searchStatement.IsMatching(Localization.Get(x.Equipment.Name)); } } }
private void OnSearchTextChanged() { if (string.IsNullOrWhiteSpace(SearchText)) { foreach (LoadoutViewModel loadout in Loadouts) { loadout.IsVisible = true; } } else { var searchStatement = SearchStatement.Create(SearchText, GlobalData.Instance.Aliases); foreach (LoadoutViewModel loadout in Loadouts) { loadout.IsVisible = searchStatement.IsMatching(loadout.Name); } } }
private void ComputeVisibility(EquipmentGroupViewModel group, SearchStatement searchStatement) { if (visibilityMode == EquipmentOverrideVisibilityMode.AllPossessed) { if (group.PossessAll == false) { group.IsVisible = false; return; } } else if (visibilityMode == EquipmentOverrideVisibilityMode.SomePossessed) { if (group.PossessAny == false) { group.IsVisible = false; return; } } else if (visibilityMode == EquipmentOverrideVisibilityMode.SomeUnpossessed) { if (group.PossessAll || group.PossessNone) { group.IsVisible = false; return; } } else if (visibilityMode == EquipmentOverrideVisibilityMode.AllUnpossessed) { if (group.PossessAny) { group.IsVisible = false; return; } } if (searchStatement == null) { searchStatement = SearchStatement.Create(searchText); } group.ApplySearchText(searchStatement); }
public void ApplySearchText(SearchStatement searchStatement, int?numercModifier) { searchTextSkillLevel = -1; if (searchStatement == null || searchStatement.IsEmpty) { IsVisible = true; return; } IsVisible = searchStatement.IsMatching(Localization.Get(skill.Name)) || searchStatement.IsMatching(Localization.Get(skill.Description)) || skill.Abilities.Any(x => searchStatement.IsMatching(Localization.Get(x.Description))) || searchStatement.IsMatching(JewelsText); if (IsVisible) { if (numercModifier.HasValue == false) { foreach (AbilityViewModel x in Abilities) { x.IsHidden = false; } } else { if (numercModifier.Value < 0 || numercModifier.Value > skill.MaxLevel) { IsVisible = false; } else { searchTextSkillLevel = numercModifier.Value; foreach (AbilityViewModel x in Abilities) { x.IsHidden = x.Level != numercModifier.Value; } } } } }
internal void ComputeVisibility(SkillViewModel skillViewModel) { if (visibilityMode == VisibilityMode.Selected) { if (skillViewModel.HasCheckedAbility == false) { skillViewModel.IsVisible = false; return; } } else if (visibilityMode == VisibilityMode.Unselected) { if (skillViewModel.HasCheckedAbility) { skillViewModel.IsVisible = false; return; } } skillViewModel.ApplySearchText(SearchStatement.Create(searchText)); }
public void It_should_handle_a_contains_query() { _userCollectionSearchingOver = new[] { new User { Email = "tim" }, new User { Email = "john" }, new User { Email = "timmy" }, new User { Email = "jess" }, new User { Email = "atimmy" }, }; var filterDescriptor = GetFilterDescriptor(); var queryable = _userCollectionSearchingOver.AsQueryable(); var searchStatement = new SearchStatement { Condition = SearchKeyWords.Contains, Element = SearchElements.Email, Value = "tim" }; var queryableWithFilter = filterDescriptor.ApplyStatementToQuery(searchStatement, queryable); var filteredResults = queryableWithFilter.ToList(); foreach (var result in filteredResults) { Assert.IsTrue(result.Email.Contains("tim")); } }
public void It_should_throw_invalid_operation_exception_when_selector_doesnt_match_any_field() { _userCollectionSearchingOver = new[] { new User { Email = "tim" }, new User { Email = "timmy" } }; var queryable = _userCollectionSearchingOver.AsQueryable(); var searchStatement = new SearchStatement { Condition = "unknown", Element = SearchElements.Email, Value = "tim" }; var filterDescriptor = GetFilterDescriptor(); Assert.Throws <InvalidOperationException>(() => filterDescriptor.ApplyStatementToQuery(searchStatement, queryable)); }
public void It_should_be_case_insensitive() { _userCollectionSearchingOver = new[] { new User { Email = "Tim" }, new User { Email = "john" }, new User { Email = "TIMMY" }, new User { Email = "jess" } }; var filterDescriptor = GetFilterDescriptor(); var queryable = _userCollectionSearchingOver.AsQueryable(); var searchStatement = new SearchStatement { Condition = SearchKeyWords.Contains, Element = SearchElements.Email, Value = "tIm" }; var queryableWithFilter = filterDescriptor.ApplyStatementToQuery(searchStatement, queryable); var filteredResults = queryableWithFilter.ToList(); Assert.AreEqual(2, filteredResults.Count); foreach (var result in filteredResults) { Assert.IsTrue(result.Email.ToLower().Contains("tim")); } }
public void It_should_return_no_results_when_nothing_matches() { _userCollectionSearchingOver = new[] { new User { Email = "tim" }, new User { Email = "john" }, new User { Email = "timmy" }, new User { Email = "jess" }, new User { Email = "atimmy" }, }; var filterDescriptor = GetFilterDescriptor(); var queryable = _userCollectionSearchingOver.AsQueryable(); var searchStatement = new SearchStatement { Condition = SearchKeyWords.Contains, Element = SearchElements.Email, Value = "sim" }; var queryableWithFilter = filterDescriptor.ApplyStatementToQuery(searchStatement, queryable); var filteredResults = queryableWithFilter.ToList(); Assert.IsEmpty(filteredResults); }
internal void ComputeVisibility(JewelOverrideViewModel jewelOverrideViewModel, SearchStatement searchStatement = null) { if (visibilityMode == DecorationOverrideVisibilityMode.Modified) { if (jewelOverrideViewModel.IsOverriding == false && jewelOverrideViewModel.Count == 0) { jewelOverrideViewModel.IsVisible = false; return; } } else if (visibilityMode == DecorationOverrideVisibilityMode.Unmodified) { if (jewelOverrideViewModel.IsOverriding || jewelOverrideViewModel.Count > 0) { jewelOverrideViewModel.IsVisible = false; return; } } if (searchStatement == null) { searchStatement = SearchStatement.Create(searchText, GlobalData.Instance.Aliases); } jewelOverrideViewModel.ApplySearchText(searchStatement); }
private static bool IsMatching(IAbility ability, SearchStatement searchStatement) { return(searchStatement.IsMatching(Localization.Get(ability.Skill.Name)) || searchStatement.IsMatching(Localization.Get(ability.Description)) || searchStatement.IsMatching(Localization.Get(ability.Skill.Description))); }