Exemple #1
0
        protected bool LogEntriesFilter(object obj)
        {
            LogEntry entry = obj as LogEntry;

            if (entry == null)
            {
                return(true);
            }

            var relevantColums = this.ColumnConfig.Columns.Where(c => !String.IsNullOrWhiteSpace(c.FilterValue));

            if (relevantColums.Any())
            {
                foreach (var relevantColumn in relevantColums)
                {
                    if (!entry.ContainsKey(relevantColumn.EntryKey))
                    {
                        return(false);
                    }
                    var entryValue = Convert.ToString(entry[relevantColumn.EntryKey], this.culture);
                    int idx        = this.culture.CompareInfo.IndexOf(entryValue, relevantColumn.FilterValue, CompareOptions.IgnoreCase);
                    if (idx < 0)
                    {
                        return(false);
                    }
                }
            }

            if (String.IsNullOrWhiteSpace(this.currentSearchText))
            {
                return(true);
            }
            foreach (var kvp in entry)
            {
                var str = Convert.ToString(kvp.Value);
                if (str.Contains(this.currentSearchText))
                {
                    return(true);
                }
            }

            return(false);
        }