Exemple #1
0
        public ActionResult OnGetChartData()
        {
            var dummyList     = Weather_Chart.GetDummyChart();
            var legitList     = (dbMan as DBManager_Mongo).GetPastNDaysChart(60);
            var convertedJson = JsonConvert.SerializeObject(legitList, new JsonSerializerSettings()
            {
                NullValueHandling = NullValueHandling.Ignore
            });

            return(Content(convertedJson));
        }
Exemple #2
0
        /// <summary>
        /// var data = google.visualization.arrayToDataTable([
        ///['Time', 'Temperature', 'Humidity'],
        ///['2004',  1000,      400],
        ///['2005',  1170,      460],
        ///['2006',  660,       1120],
        /// ['2007',  1030,      540]
        /// ]);
        /// </summary>
        /// <param name="docs"></param>
        /// <param name="fields"></param>
        /// <returns></returns>
        private List <object> weatherChartData(List <BsonDocument> docs, DataPoint fields = DataPoint.all)
        {
            var weatherData = new List <WeatherEntry>();

            if (fields == DataPoint.all)
            {
                docs.ForEach(doc =>
                {
                    weatherData.Add(new WeatherEntry(this.GetTime(doc[DBDeets.TimeKey].ToString()))
                    {
                        TEMPERATURE = double.Parse(doc[DBDeets.TemperatureKey].ToString()),
                        Humidity    = double.Parse(doc[DBDeets.HumidityKey].ToString()),
                        Brightness  = double.Parse(doc[DBDeets.BrightnessKey].ToString()),
                        WindSpeed   = double.Parse(doc[DBDeets.WindSpeedKey].ToString()),
                        WindDir     = doc[DBDeets.WindDirectionKey].ToString()
                    });
                });
            }
            else
            {
                docs.ForEach(doc =>
                {
                    //ALWAYS add Time
                    var newWeatherEntry = new WeatherEntry(this.GetTime(doc[DBDeets.TimeKey].ToString(), "d"));

                    //Add Temperature
                    if (fields.HasFlag(DataPoint.temperature))
                    {
                        newWeatherEntry.TEMPERATURE = double.Parse(doc[DBDeets.TemperatureKey].ToString());
                    }

                    //Add Humidity
                    if (fields.HasFlag(DataPoint.humidity))
                    {
                        newWeatherEntry.Humidity = double.Parse(doc[DBDeets.HumidityKey].ToString());
                    }

                    //Add brightness
                    if (fields.HasFlag(DataPoint.brightness))
                    {
                        newWeatherEntry.Brightness = double.Parse(doc[DBDeets.BrightnessKey].ToString());
                    }

                    //Add Wind Speed
                    if (fields.HasFlag(DataPoint.windSpeed))
                    {
                        newWeatherEntry.WindSpeed = double.Parse(doc[DBDeets.WindSpeedKey].ToString());
                    }

                    // Add wind direction
                    if (fields.HasFlag(DataPoint.windDirection))
                    {
                        doc[DBDeets.WindDirectionKey].ToString();
                    }


                    weatherData.Add(newWeatherEntry);
                });
            }
            var chart = Weather_Chart.ToGChartsArray(weatherData, fields);

            return(chart);
        }