Esempio n. 1
0
        private static void MatchTypeOnObject <T, V>(
            [NotNull] string text,
            [NotNull] IComposedObject <V> searchObject,
            ref DbRef exactMatch,
            ref ObjectBase lastExactMatchObject,
            ref DbRef partialMatch,
            ref ObjectBase lastPartialMatchObject)
            where T : ObjectBase
            where V : ObjectBase
        {
            if (searchObject == null)
            {
                throw new ArgumentNullException(nameof(searchObject));
            }

            if (string.IsNullOrWhiteSpace(text))
            {
                return;
            }

            if (!(searchObject.DataObject is T))
            {
                return;
            }

            if (string.Compare(searchObject.DataObject.Name, text, StringComparison.OrdinalIgnoreCase) == 0)
            {
                exactMatch          += searchObject.DataObject.DbRef;
                lastExactMatchObject = searchObject.DataObject;
            }
            else if (searchObject.DataObject.Aliases != null && searchObject.DataObject.Aliases.Any(a => string.Compare(a, text, StringComparison.OrdinalIgnoreCase) == 0))
            {
                exactMatch          += searchObject.DataObject.DbRef;
                lastExactMatchObject = searchObject.DataObject;
            }
            else if (Regex.IsMatch(text, searchObject.DataObject.Name.Replace("*", ".*?"), RegexOptions.IgnoreCase))
            {
                partialMatch          += searchObject.DataObject.DbRef;
                lastPartialMatchObject = searchObject.DataObject;
            }
            else if (searchObject.DataObject.Aliases != null &&
                     searchObject.DataObject.Aliases.Any(
                         a => Regex.IsMatch(text, searchObject.DataObject.Name.Replace("*", ".*?"), RegexOptions.IgnoreCase)))
            {
                partialMatch          += searchObject.DataObject.DbRef;
                lastPartialMatchObject = searchObject.DataObject;
            }
        }
Esempio n. 2
0
 public static IDomainObject Execute(IComposedObject root)
 {
     Window.Root = root;
 }