public bool GetHarvestData() { IList <Subscriber> subscribers = new List <Subscriber>(); SoracomHarvest soracom = new SoracomHarvest(); soracom.TdsObject = TdsObject; bool ret = soracom.GetHarvestData(subscribers); foreach (Subscriber subscriber in subscribers) { TdsObject.UpdateData(subscriber.data); } return(ret); }
public void UpdateStatus() { TdsObject.GetStatus(this); }
public GoogleVisualizationDataTable ErrorTable() { return(TdsObject.CreatErrorTable()); }
public bool GetSubScriverData(Subscriber subscriber) { JsonSerializerSettings serializerSettings = new JsonSerializerSettings() { DateParseHandling = DateParseHandling.DateTimeOffset }; string[] headers = { $"X-Soracom-API-Key:{apiKey}", $"X-Soracom-Token:{apiToken}" }; HttpResponce data = Get(subscriber.url, headers); if (data == null) { return(false); } subscriber.url = ""; if (data.Headers.Get("link") != null) { string[] l = data.Headers.Get("link").Split(","); foreach (var s in l) { if (s.IndexOf("next") > -1) { Match m = Regex.Match(s, @"(\<)(?<url>.+?)(\>)"); if (m.Success) { subscriber.url = "https://api.soracom.io" + m.Groups["url"].Value; } break; } } } foreach (var item in data.data) { var bodybject = JsonConvert.DeserializeObject(item.content.Value, serializerSettings); try { if (bodybject.payload != null) { List <dynamic> dataobjects = directData.ConvertData(bodybject.payload.Value); if (dataobjects.Count > 0) { subscriber.data.AddRange(dataobjects); } } else { if (bodybject.date == null) { var baseDt = new DateTimeOffset(1970, 1, 1, 0, 0, 0, TimeSpan.Zero); bodybject.date = new DateTimeOffset(item.time.Value * 10000 + baseDt.Ticks, TimeSpan.Zero); } subscriber.data.Add(bodybject); } } catch (Exception e) { TdsObject.SetErrerMessage(e.Data["org"].ToString(), e.Message); } } return(true); }
public GoogleVisualizationDataTable DataTable(ListModel model) { return(TdsObject.CreatTdsDataTable(model.ListTop)); }