public void LoadActivities(int Month, int Year) { _Activities.Clear(); Activity activity = new Activity(); _dtActivities = activity.GetByMonth(Month, Year); foreach (Shiloh.BL.Shiloh.activityRow row in _dtActivities.Rows) { sActivity act = new sActivity(); act.Id = row.ID; act.Name = row.name; act.Description = row.description; act.StartDate = row.activityStart; act.EndDate = row.activityEnd; // add to the list of activities for the day AddActivity(act.StartDate, act); // if this is a date range then add an event for each day in the range int dayRange = Math.Abs(act.EndDate.Subtract(act.StartDate).Days); if (dayRange > 0) { for (double i = 1; i <= dayRange; i++) { AddActivity(act.StartDate.AddDays(i), act); } } } }
private void AddActivity(DateTime ActivityDate, sActivity Activity) { string dateString = ActivityDate.ToShortDateString(); if (!_Activities.ContainsKey(dateString)) { List<sActivity> activities = new List<sActivity>(); _Activities.Add(dateString, activities); } ((List<sActivity>)_Activities[dateString]).Add(Activity); }