Example #1
0
        /// <summary>
        /// TODO
        /// </summary>
        public void Process(Portable.Data.IEntry entry)
        {
            // TODO:FIX - for now just assume that entries come ordered

            // if current x is null set from current entry
            if (!_currentX.HasValue)
            {
                _currentX = entry.CreatedDateTime;
            }

            // calculate time difference
            TimeSpan difference = entry.CreatedDateTime - _currentX.Value;

            // reset current X and create point from entries in last day
            if (difference.Duration() >= TimeSpan.FromDays(1).Duration())
            {
                // create point from data
                _result.Add(new Point(_currentX.Value, _currentY));

                // set current value for next calculations
                SetCurrentY(entry);
                _currentX = entry.CreatedDateTime;
            }
            // add to current Y value from entry
            else
            {
                AddCurrentY(entry);
            }
        }
Example #2
0
 /// <summary>
 /// TODO
 /// </summary>
 private void AddCurrentY(Portable.Data.IEntry entry)
 {
     // set current value for next calculations
     if (entry.Type == Portable.Data.EntryType.Positive)
     {
         _currentY.Positive += entry.Value;
     }
     if (entry.Type == Portable.Data.EntryType.Negative)
     {
         _currentY.Negative += entry.Value;
     }
 }
Example #3
0
        /// <summary>
        /// TODO
        /// </summary>
        private void SetCurrentY(Portable.Data.IEntry entry)
        {
            _currentY = new PointValue();

            // set current value for next calculations
            if (entry.Type == Portable.Data.EntryType.Positive)
            {
                _currentY.Positive = entry.Value;
            }
            if (entry.Type == Portable.Data.EntryType.Negative)
            {
                _currentY.Negative = entry.Value;
            }
        }