public void AddContrib(DateTime day, int taskId, double amount) { //Debug.Assert(day.Kind == DateTimeKind.Local, "Day is not in local time!"); if (day < StartDate || day > EndDate) { return; // ignore } if (!DayContribs.ContainsKey(day)) { DayContribs[day] = amount; } else { DayContribs[day] += amount; } if (!TaskContribs.ContainsKey(taskId)) { TaskContribs[taskId] = amount; } else { TaskContribs[taskId] += amount; } }
protected double GetTotalContribBetween(DateTime startDate, DateTime endDate) { return(DayContribs.Where(d => d.Key >= startDate && d.Key <= endDate).Sum(c => c.Value)); }