aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.Telemetry/TelemetryLiteDbPendingStorageManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/Tango.Telemetry/TelemetryLiteDbPendingStorageManager.cs')
-rw-r--r--Software/Visual_Studio/Tango.Telemetry/TelemetryLiteDbPendingStorageManager.cs80
1 files changed, 0 insertions, 80 deletions
diff --git a/Software/Visual_Studio/Tango.Telemetry/TelemetryLiteDbPendingStorageManager.cs b/Software/Visual_Studio/Tango.Telemetry/TelemetryLiteDbPendingStorageManager.cs
deleted file mode 100644
index 47b8db826..000000000
--- a/Software/Visual_Studio/Tango.Telemetry/TelemetryLiteDbPendingStorageManager.cs
+++ /dev/null
@@ -1,80 +0,0 @@
-using LiteDB;
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Tango.Telemetry
-{
- public class TelemetryLiteDbPendingStorageManager : ITelemetryPendingStorageManager
- {
- private bool _disposed;
- private LiteDatabase _database;
-
- public String DatabasePath { get; private set; }
-
- public TelemetryLiteDbPendingStorageManager()
- {
- DatabasePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Twine", "Tango", "Telemetry", Path.GetFileNameWithoutExtension(AppDomain.CurrentDomain.FriendlyName) + ".telemetry");
- Directory.CreateDirectory(Path.GetDirectoryName(DatabasePath));
-
- _database = new LiteDatabase($"Filename={DatabasePath}");
- _database.Pragma("TIMEOUT", 10); //Read Timeout
- _database.Pragma("UTC_DATE", true); //Keep time as UTC when getting data
- _database.Commit();
- }
-
- public virtual void Dispose()
- {
- if (_database != null)
- {
- try
- {
- _disposed = true;
- _database.Dispose();
- _database = null;
- }
- catch { }
- }
- }
-
- ~TelemetryLiteDbPendingStorageManager()
- {
- Dispose();
- }
-
- private ILiteCollection<T> GetCollection<T>() where T : ITelemetry
- {
- return _database.GetCollection<T>();
- }
-
- public void InsertOrUpdateTelemetryObject<T>(T telemetry) where T : ITelemetry
- {
- var collection = GetCollection<T>();
- collection.Upsert(telemetry);
- }
-
- public void DeleteTelemetryObject<T>(T telemetry) where T : ITelemetry
- {
- var collection = GetCollection<T>();
- collection.Delete(telemetry.Id);
- }
-
- public List<ITelemetry> GetTelemetryAll()
- {
- var names = _database.GetCollectionNames();
-
- List<ITelemetry> telemetryAll = new List<ITelemetry>();
-
- foreach (var name in names)
- {
- var collection = _database.GetCollection<ITelemetry>(name);
- telemetryAll.AddRange(collection.FindAll().ToList());
- }
-
- return telemetryAll.OrderBy(x => x.Time).ToList();
- }
- }
-}