示例#1
0
        private int[] GetDataSetByMyFitnessStatType(MyFitnessStatType myFitnessStatType, List<MyFitness> Records)
        {
            int[] tempDataSet = new int[Records.Count];

            for (int i = 0; i < Records.Count; i++)
            {
                MyFitness myFitness = Records[i];

                tempDataSet[i] = (int)myFitness.GetFitnessValue(myFitnessStatType);
            }
            return tempDataSet;
        }
 /// <summary>
 /// Enter from outside class
 /// </summary>
 /// <param name="MyFitnessStat"></param>
 /// <param name="MyFitnessList"></param>
 /// <param name="NumberOfDays"></param>
 public void GetValue(MyFitnessStatType MyFitnessStat, List<MyFitness> MyFitnessList, int NumberOfDays)
 {
     if ((NumberOfDays > (DateTime.IsLeapYear(DateTime.Now.Year) ? 366 : 365)) || (NumberOfDays < 1))
     {
         throw new ArgumentOutOfRangeException("Number of Days cannot exceed number of days this year or be less than 1");
     }
     //GetXML based on the stat type
     //get one more day due to the zero first record bug
     var XML = GetXML(MyFitnessStat, NumberOfDays+1);
     //Get values from xml
     var ListXML = GetValues(XML);
     //assign to collection
     ConvertXMLListToValue(MyFitnessList, ListXML, MyFitnessStat);
 }
 public void ConvertXMLListToValue(List<MyFitness> MyFitnessList, List<MyFitnessXML> XMLList, MyFitnessStatType MyFitnessStat)
 {
     foreach (var item in XMLList)
     {
         var ExistingMyFitness = MyFitnessList.FirstOrDefault(x => x.Date == MyFitness.ConvertRawDateToDate(item.StringValue));
         if (ExistingMyFitness != null)
         {
             ExistingMyFitness.Update(MyFitnessStat, item.NumberValue);
         }
         else
         {
             MyFitnessList.Add(MyFitness.Create(MyFitnessStat, item));
         }
     }
 }
 private XDocument GetXML(MyFitnessStatType MyFitnessStat, int NumberOfDays)
 {
     string URL = MyFitnessURL.FormatURL(MyFitnessStat,NumberOfDays);
     return GetXML(URL);
 }
示例#5
0
 public void Update(MyFitnessStatType MyFitnessStat, double NumberValue)
 {
     SetFitnessValue(MyFitnessStat, NumberValue);
 }
示例#6
0
 public void SetFitnessValue(MyFitnessStatType MyFitnessStat, double Value)
 {
     this.GetType().GetProperty(Enum.GetName(typeof(MyFitnessStatType), MyFitnessStat)).SetValue(this, Value, null);
 }
示例#7
0
 public double GetFitnessValue(MyFitnessStatType MyFitnessStat)
 {
     return (double)this.GetType().GetProperty(Enum.GetName(typeof(MyFitnessStatType),MyFitnessStat)).GetValue(this,null);
 }
示例#8
0
        public static MyFitness Create(MyFitnessStatType MyFitnessStat, MyFitnessXML item)
        {
            MyFitness _MyFitness = new MyFitness { RawDate = item.StringValue };
            _MyFitness.Update(MyFitnessStat, item.NumberValue);

            return _MyFitness;
        }
示例#9
0
 public static string FormatURL(MyFitnessStatType MyFitnessStat, int NumberOfDays)
 {
     return string.Format("{0}/{1}/{2}", MyFitnessBaseURL, URLs[MyFitnessStat], NumberOfDays);
 }
示例#10
0
 public static string AddSpaces(MyFitnessStatType MyFitnessStat)
 {
     return Enum.GetName(typeof(MyFitnessStatType), MyFitnessStat).Replace("_"," ");
 }