private async void SendOfflineData(object stateinfo) { Logger.Info(DateTime.Now.ToString()); bool online = await SoftwareUserSession.IsOnlineAsync(); if (!online) { return; } string datastoreFile = SoftwareCoUtil.getSoftwareDataStoreFile(); if (File.Exists(datastoreFile)) { // get the content string[] lines = File.ReadAllLines(datastoreFile); if (lines != null && lines.Length > 0) { List <String> jsonLines = new List <string>(); foreach (string line in lines) { if (line != null && line.Trim().Length > 0) { jsonLines.Add(line); } } string jsonContent = "[" + string.Join(",", jsonLines) + "]"; HttpResponseMessage response = await SoftwareHttpManager.SendRequestAsync(HttpMethod.Post, "/data/batch", jsonContent); if (SoftwareHttpManager.IsOk(response)) { // delete the file File.Delete(datastoreFile); } } } ÇlearSessionSummaryData(); fetchSessionSummaryInfoAsync(true); }
private void StorePayload(SoftwareData _softwareData) { if (_softwareData != null) { long keystrokes = _softwareData.keystrokes; incrementSessionSummaryData(1 /*minutes*/, keystrokes); saveSessionSummaryToDisk(_sessionSummary); string softwareDataContent = _softwareData.GetAsJson(); string datastoreFile = SoftwareCoUtil.getSoftwareDataStoreFile(); // append to the file File.AppendAllText(datastoreFile, softwareDataContent + Environment.NewLine); //// update the statusbar fetchSessionSummaryInfoAsync(); } }