Пример #1
0
        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);
        }
Пример #2
0
        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;
                    }
                }
            }
        }