Esempio n. 1
0
        public object GetGprsSensorData(string sensors, DateTime startdate, DateTime enddate, int interval, string datename)
        {
            var listMonitor =
                new DAL.Data().GetMonitorData(sensors, startdate, enddate, interval, datename).OrderBy(d => d.SensorId);
            // return listMonitor;

            var listOriginal =
                new DAL.Data().GetOriginalData(sensors, startdate, enddate, interval, datename).OrderBy(d => d.SensorId);

            var query = from m in listMonitor
                        from o in listOriginal
                        where m.SensorId == o.SensorId &&
                        m.AcquisitionTime == o.AcquisitionTime
                        select new
            {
                sensorId         = m.SensorId,
                location         = m.Location,
                originalColumn   = o.Columns,
                originalUnit     = o.Unit,
                originalValue    = o.Values,
                calculatedColumn = m.Columns,
                calculatedUnit   = m.Unit,
                calculatedValue  = m.Values,
                acquisitiontime  = m.AcquisitionTime
            };
            var list = query.ToList();
            // return list;

            var json = new JArray(list.GroupBy(g => new { g.sensorId, g.location, g.calculatedColumn, g.calculatedUnit, g.originalColumn, g.originalUnit })
                                  .Select(s => new JObject(
                                              new JProperty("sensorid", s.Key.sensorId),
                                              new JProperty("location", s.Key.location),
                                              new JProperty("columns", new JObject(
                                                                new JProperty("originalColumn", s.Key.originalColumn),
                                                                new JProperty("calculatedColumn", s.Key.calculatedColumn)
                                                                )),
                                              new JProperty("units", new JObject(
                                                                new JProperty("originalUnit", s.Key.originalUnit),
                                                                new JProperty("calculatedUnit", s.Key.calculatedUnit)
                                                                )),
                                              new JProperty("data", new JArray(s.Select(v => new JObject(
                                                                                            new JProperty("originalValue", v.originalValue),
                                                                                            new JProperty("calculatedValue", v.calculatedValue),
                                                                                            new JProperty("acquisitiontime", v.acquisitiontime))))))));

            return(json);
        }
Esempio n. 2
0
        public object GetBySensorAndDate(string sensors, DateTime startdate, DateTime enddate, int interval, string datename)
        {
            var list =
                new DAL.Data().GetMonitorData(sensors, startdate, enddate, interval, datename).OrderBy(d => d.SensorId);

            return
                (new JArray(list.GroupBy(l => new { l.SensorId, l.Location, l.Columns, l.Unit }).Select(d =>
                                                                                                        new JObject(
                                                                                                            new JProperty("sensorid", d.Key.SensorId),
                                                                                                            new JProperty("location", d.Key.Location),
                                                                                                            new JProperty("columns", d.Key.Columns),
                                                                                                            new JProperty("unit", d.Key.Unit),
                                                                                                            new JProperty(
                                                                                                                "data",
                                                                                                                new JArray(d.Select(v =>
                                                                                                                                    new JObject(
                                                                                                                                        new JProperty("value", v.Values),
                                                                                                                                        new JProperty("acquisitiontime", v.AcquisitionTime)))))))));
        }
Esempio n. 3
0
        public object GetLastBySensor(string sensors)
        {
            string[] sens        = sensors.Split(',');
            int[]    sensorArray = sens.Select(s => Convert.ToInt32(s)).ToArray();
            var      list        = new DAL.Data().GetLastMonitorData(sensorArray).OrderBy(d => d.SensorId);

            return
                (new JArray(list.GroupBy(l => new { l.SensorId, l.Location, l.Columns, l.Unit }).Select(d =>
                                                                                                        new JObject(
                                                                                                            new JProperty("sensorid", d.Key.SensorId),
                                                                                                            new JProperty("location", d.Key.Location),
                                                                                                            new JProperty("columns", d.Key.Columns),
                                                                                                            new JProperty("unit", d.Key.Unit),
                                                                                                            new JProperty(
                                                                                                                "data",
                                                                                                                new JArray(d.Select(v =>
                                                                                                                                    new JObject(
                                                                                                                                        new JProperty("value", v.Values),
                                                                                                                                        new JProperty("acquisitiontime", v.AcquisitionTime)))))))));
        }