public Chart CreateChart(Stock stock)
        {
            Visifire.Charts.Chart visiChart = new Visifire.Charts.Chart();
            Visifire.Charts.Title title = new Visifire.Charts.Title();

            title.Text = stock.Name;
            visiChart.Titles.Add(title);

            visiChart.Width = 300;
            visiChart.Height = 200;

            Visifire.Charts.DataSeries dataSeriesClose = new Visifire.Charts.DataSeries();
            Visifire.Charts.DataSeries dataSeriesOpen = new Visifire.Charts.DataSeries();
            Visifire.Charts.DataSeries dataSeriesLow = new Visifire.Charts.DataSeries();
            Visifire.Charts.DataSeries dataSeriesHigh = new Visifire.Charts.DataSeries();

            Visifire.Charts.DataPoint dataPointClose;
            Visifire.Charts.DataPoint dataPointOpen;
            Visifire.Charts.DataPoint dataPointLow;
            Visifire.Charts.DataPoint dataPointHigh;

            foreach (var stockVal in stock.values)
            {
                if (stockVal.Open.HasValue)
                {
                    dataPointOpen = new DataPoint();
                    dataPointOpen.YValue = stockVal.Open.Value;
                    dataSeriesOpen.DataPoints.Add(dataPointOpen);
                }
                if (stockVal.High.HasValue)
                {
                    dataPointHigh = new DataPoint();
                    dataPointHigh.YValue = stockVal.High.Value;
                    dataSeriesHigh.DataPoints.Add(dataPointHigh);

                }
                if (stockVal.Close.HasValue)
                {
                    dataPointClose = new DataPoint();
                    dataPointClose.YValue = stockVal.Close.Value;
                    dataSeriesClose.DataPoints.Add(dataPointClose);

                }
                if (stockVal.Low.HasValue)
                {
                    dataPointLow = new DataPoint();
                    dataPointLow.YValue = stockVal.Low.Value;
                    dataSeriesLow.DataPoints.Add(dataPointLow);

                }
            }

            if (dataSeriesLow.DataPoints.Count > 0)
            {
                dataSeriesLow.RenderAs = RenderAs.Line;
                dataSeriesLow.Name = "Low";
                visiChart.Series.Add(dataSeriesLow);
            }
            if (dataSeriesHigh.DataPoints.Count > 0)
            {
                dataSeriesHigh.RenderAs = RenderAs.Line;
                dataSeriesHigh.Name = "High";
                visiChart.Series.Add(dataSeriesHigh);
            }
            if (dataSeriesOpen.DataPoints.Count > 0)
            {
                dataSeriesOpen.RenderAs = RenderAs.Line;
                dataSeriesOpen.Name = "Open";
                visiChart.Series.Add(dataSeriesOpen);
            }
            if (dataSeriesClose.DataPoints.Count > 0)
            {
                dataSeriesClose.RenderAs = RenderAs.Line;
                dataSeriesClose.Name = "Close";
                visiChart.Series.Add(dataSeriesClose);
            }
            return visiChart;
        }
 public StockChart(Stock stock)
 {
     this.stock = stock;
     InitializeComponent();
     this.stockName.Text = stock.Name;
 }