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)); }
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; }
public async Task <SensorCollection> List([FromQuery] SensorQuery query) { return(await repo.List(query)); }