示例#1
0
        public async Task <SensorCollection> List(SensorQuery query)
        {
            var dbQuery = await query.Create(this.Entities);

            var total = await dbQuery.CountAsync();

            dbQuery = dbQuery.Skip(query.SkipTo(total)).Take(query.Limit);
            var resultQuery = dbQuery.Select(i => mapper.Map <Sensor>(i));
            var results     = await resultQuery.ToListAsync();

            return(new SensorCollection(query, total, results));
        }
示例#2
0
        public static void GetSensorHistory(int groupId, DateTime startDate, DateTime endDate, int step, List <Sensor> sensors, field field)
        {
            long start = ToEpochTime(startDate) * 1000;
            long end   = ToEpochTime(endDate) * 1000;

            var seriesList = new List <series>();

            foreach (Sensor s in sensors)
            {
                series ser = new series();
                ser.widgetId = s.id;
                ser.field    = field.ToString();

                seriesList.Add(ser);
            }


            SensorQuery query = new SensorQuery()
            {
                groupId = 2401, startMs = start, endMs = end, stepMs = step, series = seriesList
            };

            RestClient client = new RestClient()
            {
                BaseUrl = new Uri("https://api.samsara.com")
            };

            var request = new RestRequest();
            // request.AddBody(new { groupId = "2401" });
            JavaScriptSerializer serial = new JavaScriptSerializer();

            var jsonToSend = serial.Serialize(query);

            request.AddParameter("application/json; charset=utf-8", jsonToSend, ParameterType.RequestBody);
            request.Method = Method.POST;

            request.Resource = "v1/sensors/history";
            request.AddQueryParameter("access_token", "xBE7YA36JSQIgMatJOW4JiFQqxEhO2");


            var response = client.Execute(request);


            int i = 0;
        }
示例#3
0
 public async Task <SensorCollection> List([FromQuery] SensorQuery query)
 {
     return(await repo.List(query));
 }