private void ExportButton_Click(object sender, EventArgs e)
        {
            // Nothing to export if activity is empty
            if (activity == null)
            {
                return;
            }

            // Open File Save dialog to create new CSV Document
            SaveFileDialog saveFile = new SaveFileDialog();

            saveFile.FileName        = "MeanMax " + activity.StartTime.ToLocalTime().ToString("yyyy-MM-dd");
            saveFile.Filter          = "All Files (*.*)|*.*|Comma Separated Values (*.csv)|*.csv";
            saveFile.FilterIndex     = 2;
            saveFile.DefaultExt      = "csv";
            saveFile.OverwritePrompt = true;

            string comma = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ListSeparator;

            // Cancel if user doesn't select a file
            if (saveFile.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            // Export mean-max data
            INumericTimeDataSeries track = ActivityComparerCache.GetTrack(activity, ChartType);

            Utilities.ExportTrack(track, saveFile.FileName);
        }
 private void RefreshButton_Click(object sender, EventArgs e)
 {
     if (activity != null)
     {
         ActivityComparerCache.ClearTrack(activity.ReferenceId + ChartType);
         RefreshPage();
     }
 }
        internal void RefreshPage()
        {
            if (!ActivityComparerDetail.Instance.Visible || activities == null)
            {
                return;
            }

            INumericTimeDataSeries meanMax     = new NumericTimeDataSeries();
            INumericTimeDataSeries activityMax = new NumericTimeDataSeries();

            meanMax.AllowMultipleAtSameTime = true;

            DateTime start = DateTime.Now.Date;

            foreach (IActivity mmact in activities)
            {
                // Try to pull from memory if available
                //track = MeanMaxCache.GetTrack(activity, ChartType);
                activityMax = ActivityComparerCache.GetTrack(mmact, ChartType);

                // Compile all points together
                foreach (TimeValueEntry <float> item in activityMax)
                {
                    meanMax.Add(start.AddSeconds(item.ElapsedSeconds), item.Value);
                }

                // Remove low points
                for (int i = meanMax.Count - 2; i >= 0; i--)
                {
                    if (meanMax[i].Value < meanMax[i + 1].Value)
                    {
                        meanMax.RemoveAt(i);
                    }
                }
            }

            updateZedGraph(meanMax, zedChart, ChartType);
        }