Esempio n. 1
0
        public static IList<Result> calculateActivities(IList<IActivity> activities, IList<IValueRangeSeries<DateTime>> pauses, IList<Goal> goals, System.Windows.Forms.ProgressBar progressBar)
        {
            if (progressBar != null)
            {
                progressBar.Minimum = 0;
                progressBar.Value = 0;
                progressBar.Maximum = 0;//Set below
                progressBar.Visible = true;
                progressBar.BringToFront();
            }
            SortedList<Result, Result>[] resultsArray = calculateActivities2(activities, pauses, goals, progressBar);
            IList<Result> results = new List<Result>();
            //Null results must be removed from array
            foreach (SortedList<Result, Result> r in resultsArray)
            {
                if (r != null)
                {
                    //int i = 1;
                    foreach (Result ra in r.Values)
                    {
                        //ra.Order = i;
                        results.Add(ra);
                        //i++;
                    }
                }
            }

            if (progressBar != null)
            {
                progressBar.Visible = false;
            }
            return results;
        }
Esempio n. 2
0
 public static System.Windows.Forms.DialogResult ShowDialog(System.Windows.Forms.Form newForm, System.Windows.Forms.Form currentForm)
 {
     string title = currentForm.Text;
     currentForm.Text = "";
     System.Windows.Forms.DialogResult result = newForm.ShowDialog();
     currentForm.Text = title;
     currentForm.Show();
     currentForm.BringToFront();
     return result;
 }
        public static void getHSResults(IList<TimePredictionSource> predictorSource, IList<IActivity> activities, System.Windows.Forms.ProgressBar progressBar)
        {
            IList<IList<Object>> results = new List<IList<Object>>();
            if (Settings.HighScore != null)
            {
                IList<double> partialDistances = new List<double>();
                foreach (double distance in Settings.Distances.Keys)
                {
                    //Scale down the distances, so we get the high scores
                    partialDistances.Add(distance * Settings.HsPercentOfDistance / 100.0);
                }
                //chart.Visible = false;
                //summaryList.Visible = false;
                //this.lblHighScoreRequired.Visible = false;
                if (progressBar != null)
                {
                    progressBar.Visible = true;
                    progressBar.BringToFront();
                    //progressBar.Size = new Size(this.Width, progressBar.Height);
                    progressBar.Minimum = 0;
                    progressBar.Value = 0;
                    progressBar.Maximum = activities.Count;
                }
                results = (IList<IList<Object>>)
                    Settings.HighScore.GetMethod("getFastestTimesOfDistances").Invoke(null,
                    new object[] { activities, partialDistances, progressBar });
                if (progressBar != null)
                {
                    progressBar.Visible = false;
                }
            }

            int index = 0;
            foreach (IList<Object> result in results)
            {
                IActivity foundActivity = (IActivity)result[0];
                TimeSpan old_time = TimeSpan.FromSeconds(UnitUtil.Time.Parse(result[1].ToString()));
                double meterStart = (double)result[2];
                double old_dist = (double)result[3];
                double timeStart = 0;
                if (result.Count > 4) { timeStart = double.Parse(result[4].ToString()); }

                //length is the distance HighScore tried to get a prediction for, may differ to actual dist
                double length = Settings.Distances.Keys[index];

                if (old_time.TotalSeconds > 0)
                {
                    predictorSource.Add(new TimePredictionSource(foundActivity, old_dist, old_time, meterStart, timeStart));
                }
                index++;
            }
        }