using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Collections.Generic;

namespace ScatterPointWPF.ViewModel
{
    public class SeriesExtensions
    {
        public class UserDataPoint
        {
            private double _x;
            private double _y;
            private double _bubbleSize;

            public UserDataPoint()
            {
            }

            public UserDataPoint(double x, double y)
            {
                this._x = x;
                this._y = y;
            }

            public double X
            {
                get
                {
                    return _x;
                }
                set
                {
                    this._x = value;
                }
            }

            public double Y
            {
                get
                {
                    return _y;
                }
                set
                {
                    this._y = value;
                }
            }

            public double BubbleSize
            {
                get
                {
                    return _bubbleSize;
                }
                set
                {
                    this._bubbleSize = value;
                }
            }
        }

        public static List<List<UserDataPoint>> GetUserScatterData()
        {
            List<List<UserDataPoint>> data = new List<List<UserDataPoint>>();
            Random rand = new Random();

            List<UserDataPoint> seriesData = new List<UserDataPoint>();
            for (int i = 0; i < 1; i++)
            {
                seriesData.Add(new UserDataPoint(10, 10));
            }
            data.Add(seriesData);

            List<UserDataPoint> seriesData2 = new List<UserDataPoint>();
            for (int i = 0; i < 10; i++)
            {
                seriesData2.Add(new UserDataPoint(rand.Next(0, 100), rand.Next(0, 100)));
            }
            data.Add(seriesData2);

            List<UserDataPoint> seriesData3 = new List<UserDataPoint>();
            for (int i = 0; i < 10; i++)
            {
                seriesData3.Add(new UserDataPoint(rand.Next(0, 100), rand.Next(0, 100)));
            }
            data.Add(seriesData3);

            return data;
        }
    }
}
