Beispiel #1
0
        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));
     }
 }
Beispiel #4
0
        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));
                }
            }
        }
Beispiel #6
0
        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);
                }
            }
        }
Beispiel #7
0
        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);
        }
Beispiel #8
0
        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;
                        }
                    }
                }
            }
        }
Beispiel #9
0
        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));
        }
Beispiel #10
0
            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"));
                }
            }
Beispiel #11
0
            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));
            }
Beispiel #12
0
            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"));
                }
            }
Beispiel #13
0
            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)));
 }