Example #1
0
 public void Add(IMonitorData data, DateTime? currentTime)
 {
     foreach (var ds in dataSetsDict.Values)
     {
         ds.Add(data, currentTime);
     }
 }
Example #2
0
        public IEnumerable <IShape> Convert(IMonitorData monitorData)
        {
            var shapes = new List <IShape>();

            //foreach(RectangleDatas rectDatas in monitorData.Rectangles)
            //{
            //    myShapes.Add(CreateMyRectangle(rectDatas));
            //}
            shapes.AddRange(monitorData.Rectangles.Select(x => CreateRectangle(x)));
            shapes.AddRange(monitorData.Capsules.Select(x => CreateCapsule(x)));
            shapes.AddRange(monitorData.Circles.Select(x => CreateCircle(x)));
            shapes.AddRange(monitorData.LineSegments.Select(x => CreateLineSegmets(x)));

            //foreach (TargetDatas targetDatas in monitorData.Targets)
            //{
            //    IEnumerable<Circle> targetCircles = CreateMyTarget(targetDatas);
            //    foreach(Circle circle in targetCircles)
            //    {
            //        myShapes.Add(circle);
            //    }
            //}
            shapes.AddRange(monitorData.Targets.SelectMany(x => CreateTarget(x)));

            return(shapes);
        }
Example #3
0
        public void MeanAdd(IMonitorData data)
        {
            if (data.Timestamp < Timestamp) throw new ArgumentException("Timestamp of data to mean must greather than existing");

            MeanTimespan = data.Timestamp - Timestamp;
            Value = (Value * MeanValueCount + data.Value) / (MeanValueCount + 1);
            ++MeanValueCount;
        }
Example #4
0
        public IMonitorData Fetch()
        {
            IMonitorData md = MockFetch(moving);

            moving++;

            return(md);
        }
Example #5
0
        public void DrawShapesOnCanvas(Canvas myCanvas)
        {
            myCanvas.Children.Clear();

            IMonitorData         monitorData = _monitorDataProvider.Fetch();
            IEnumerable <IShape> myShapes    = _converterStrategy.Convert(monitorData);

            foreach (IShape myShape in myShapes)
            {
                myShape.DrawOnCanvas(myCanvas);
            }
        }
Example #6
0
        /// <summary>
        /// Add the given data and store in the dataset computing the mean value if needed.
        /// </summary>        
        public void Add(IMonitorData data, DateTime? currentTime)
        {
            if (!TimespanTotal.HasValue || points.Count == 0) // add points without mean average for default set or if empty set
            {
                points.Add(data.Clone());
            }
            else
            {
                var last = points.GetItem(points.Count - 1);
                var ct = currentTime.HasValue ? currentTime.Value : DateTime.Now;

                // checks if last point timespan not yet overcome
                if (last.Timestamp + TimespanInterval.Value > ct)
                {
                    last.MeanAdd(data);
                }
                else // aggregate data
                {
                    points.Add(data.Clone());
                }
            }
        }