private void Stream_GroupReceived(string json) { var obj = Json.Convert.FromJson <Data.ReturnedSample>(json); if (obj != null) { var sample = new Data.Sample(); sample.AgentInstanceId = obj.AgentInstanceId; sample.CDATA = obj.CDATA; sample.Condition = obj.Condition; sample.DeviceId = obj.DeviceId; sample.Id = obj.Id; sample.Sequence = obj.Sequence; sample.Timestamp = obj.Timestamp; SampleReceived?.Invoke(sample); } }
/// <summary> /// Request Samples for a single device /// </summary> public static List <Data.Sample> Get(string baseUrl, string deviceId, string[] dataItems, DateTime from, DateTime to, int count, string accessToken) { var client = new RestClient(baseUrl); var request = new RestRequest(deviceId + "/samples", Method.GET); if (from > DateTime.MinValue) { request.AddQueryParameter("from", from.ToString("o")); } if (to > DateTime.MinValue) { request.AddQueryParameter("to", to.ToString("o")); } if (count > 0) { request.AddQueryParameter("count", count.ToString()); } if (!string.IsNullOrEmpty(accessToken)) { request.AddQueryParameter("access_token", accessToken); } if (!dataItems.IsNullOrEmpty()) { var dataItemJson = Json.Convert.ToJson(dataItems); request.AddQueryParameter("data_items", dataItemJson); } var response = client.Execute(request); if (response != null && response.StatusCode == System.Net.HttpStatusCode.OK) { var json = response.Content; if (!string.IsNullOrEmpty(json)) { var samples = new List <Data.Sample>(); var lines = json.Split(new string[] { "\n", "\r\n" }, StringSplitOptions.RemoveEmptyEntries); foreach (var line in lines) { var obj = Json.Convert.FromJson <Data.ReturnedSample>(line); if (obj != null) { var sample = new Data.Sample(); sample.AgentInstanceId = obj.AgentInstanceId; sample.CDATA = obj.CDATA; sample.Condition = obj.Condition; sample.DeviceId = obj.DeviceId; sample.Id = obj.Id; sample.Sequence = obj.Sequence; sample.Timestamp = obj.Timestamp; samples.Add(sample); } } return(samples); } } return(null); }