Exemplo n.º 1
0
        public SearchString(string str)
        {
            str             = str ?? string.Empty;
            str             = str.Trim();
            _OriginalString = str.Trim();
            TextSearch      = _OriginalString;
            var splitted = str.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

            Filters
                = splitted
                  .Select(t => t.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries))
                  .Where(kv => kv.Length == 2)
                  .Select(kv => new KeyValuePair <string, string>(kv[0].ToLowerInvariant(), kv[1]))
                  .ToDictionary(o => o.Key, o => o.Value);

            foreach (var filter in splitted)
            {
                if (filter.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries).Length == 2)
                {
                    TextSearch = TextSearch.Replace(filter, string.Empty);
                }
            }
            TextSearch = TextSearch.Trim();
        }