I suspect you want:
var totals = taskList.GroupBy(x => x.Date)
.Select(g => new { Date = g.Key,
Total = g.Sum(x => x.Amount) });
Or in one go:
var totals = taskList.GroupBy(x => x.Date, (date, values) =>
new { Date = date,
Total = values.Sum(x => x.Amount) });
Note that this is assuming the Date
property really is a date rather than a timestamp. Otherwise you might want x => x.Date.Date
as the first argument.
If this isn't what you're after, please say how it differs from what you want.
EDIT: Okay, if you want the items as well - but presumably not the date with each item - you can write:
var totals = taskList.GroupBy(x => x.Date, (date, values) =>
new { Date = date,
Total = values.Sum(x => x.Amount),
Items = values.Select(x => x.Item).ToList(),
Amounts = values.Select(x => x.Amount).ToList() });