Hallo
Die Prüfung mit _date.HasValue
if
(_date.HasValue)
e =
e.Where(
p =>
p.Date.Month == _date.Value.Month && p.Date.Day == _date.Value.Day &&
p.Date.Year == _date.Value.Year);
kannst Du etwas straffen zu:
e = e.Where(
p => !_date.HasValue || p.Date.Day == _date.Value.Day);
Where-clauses zu kamapgane und status gibt's ja je zweimal, einmal 'inline'
und später nochmals bezogen auf die Felder _status und _kampagne.
Das könnte man jeweils zusammenführen und den Select dann ganz ans Ende stellen.
messages = custTracker.Select(p => p)
ist eigentlich (fast) dasselbe wie:
messages = custTracker
//bzw
messages = custTracker.AsEnumerable()
Gruß,
Christoph