public DataTable Calculate_annual_stats_by_week() { JOB_Utilities jOB_Utilities = new JOB_Utilities(); Weekly_data.Clear(); for (int i = 0; i < 20; i++) { for (int j = 1; j < 54; j++) { if (activity_summary_count[i, j] > 0) { DataRow dataRow = Weekly_data.NewRow(); dataRow["Year"] = i + 2010; dataRow["Week"] = j; dataRow["Date"] = jOB_Utilities.GetFirstDayOfWeek(i + 2010, j).ToString(); dataRow["Count"] = activity_summary_count[i, j]; dataRow["Distance"] = activity_summary_dist[i, j]; dataRow["Elevation"] = activity_summary_height[i, j]; dataRow["Time (h)"] = (double)activity_summary_time[i, j] / 3600.0; Weekly_data.Rows.Add(dataRow); } } } return(Weekly_data); }
public void Add_Activity_data(int year, int week, double distance, double elevation, int duration) { JOB_Utilities jOB_Utilities = new JOB_Utilities(); activity_summary_count[year - 2010, week]++; activity_summary_dist[year - 2010, week] += distance; activity_summary_height[year - 2010, week] += elevation; activity_summary_time[year - 2010, week] += duration; if (year != last_added_year || week != last_added_week) { DataRow dataRow = Weekly_data.NewRow(); dataRow["Year"] = year; dataRow["Week"] = week; dataRow["Date"] = jOB_Utilities.GetFirstDayOfWeek(year + 2010, week).ToString(); if (distance > 0.0) { dataRow["Count"] = 1; } else { dataRow["Count"] = 0; } dataRow["Distance"] = distance; dataRow["Elevation"] = elevation; dataRow["Time (h)"] = (double)duration / 3600.0; Weekly_data.Rows.Add(dataRow); last_added_year = year; last_added_week = week; } else { foreach (DataRow row in Weekly_data.Rows) { if (Convert.ToInt16(row["Year"]) == year && Convert.ToInt16(row["Week"]) == week) { row["Count"] = Convert.ToInt16(row["Count"]) + 1; row["Distance"] = Convert.ToDouble(row["Distance"]) + distance; row["Elevation"] = Convert.ToDouble(row["Elevation"]) + elevation; row["Time (h)"] = (double)Convert.ToInt32(row["Time (h)"]) + (double)duration / 3600.0; } } } }