protected FilterLogEntries ( List |
||
entries | List |
|
return | IEnumerable |
protected virtual IEnumerable<CallLogEntry> FilterLogEntries(List<CallLogEntry> entries)
{
IEnumerable<CallLogEntry> filtered;
if(this.writeAllEntriesIfKeyFound && this.keys.Length != 0)
{
bool keyFound = entries.Any(entry => this.keys.Contains(entry.Key));
if(!keyFound)
filtered = new CallLogEntry[0];
else
filtered = entries.Where(entry => this.entryTypeFilter.IsAnyFlagOn(entry.What));
} else
{
filtered = from entry in entries
where this.entryTypeFilter.IsAnyFlagOn(entry.What) && (this.keys.Length == 0 || this.keys.Contains(entry.Key))
select entry;
}
return filtered;
}