Example #1
0
        /// <summary>
        /// Sets the fastest girl time
        /// </summary>
        /// <param name="key">athlete's key</param>
        /// <param name="name">athlete's name</param>
        /// <param name="time">athlete's time</param>
        /// <param name="date">date of the time</param>
        public void SetFastestGirl(
            int key,
            string name,
            TimeType time,
            DateType date)
        {
            if (FastestGirls.Count > 0 && time < FastestGirls[FastestGirls.Count - 1].Time)
            {
                for (int index = 0; index < FastestGirls.Count; ++index)
                {
                    if (time < FastestGirls[index].Time)
                    {
                        FastestGirls.Insert(index, new AthleteTime(key, name, time, date));
                        break;
                    }
                }
            }
            else if (FastestGirls.Count < maxSize)
            {
                FastestGirls.Add(new AthleteTime(key, name, time, date));
            }

            // Remove the last element if the list now exceeds the maximum size.
            if (FastestGirls.Count > maxSize)
            {
                FastestGirls.RemoveAt(FastestGirls.Count - 1);
            }

            this.FastestDataChangedEvent?.Invoke(this, new EventArgs());
        }
Example #2
0
 /// <summary>
 /// Remove a record corresponding to the argument data if one exists.
 /// </summary>
 /// <param name="key">athlete key</param>
 /// <param name="name">athlete name</param>
 /// <param name="time">athlete time</param>
 public void RemoveFastestGirl(
     int key,
     string name,
     TimeType time)
 {
     if (FastestGirls.Count > 0)
     {
         for (int index = 0; index < FastestGirls.Count; ++index)
         {
             if (key == FastestGirls[index].Key &&
                 name == FastestGirls[index].Name &&
                 time == FastestGirls[index].Time)
             {
                 FastestGirls.RemoveAt(index);
                 this.FastestDataChangedEvent?.Invoke(this, new EventArgs());
                 return;
             }
         }
     }
 }