aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.Telemetry/TelemetryBase.cs
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2025-07-29 00:54:47 +0300
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2025-07-29 00:54:47 +0300
commit70f9f4dcbe3d4537ff2bd503f18288b9a7b0e19e (patch)
treeab7c70dbe23c04e9e6ea9a165b6840e0b2ed1df7 /Software/Visual_Studio/Tango.Telemetry/TelemetryBase.cs
parentd70056692f43b2a39dbaefebe7c6e096a1205fb4 (diff)
downloadTango-70f9f4dcbe3d4537ff2bd503f18288b9a7b0e19e.tar.gz
Tango-70f9f4dcbe3d4537ff2bd503f18288b9a7b0e19e.zip
Tango.Telemetry v1
Diffstat (limited to 'Software/Visual_Studio/Tango.Telemetry/TelemetryBase.cs')
-rw-r--r--Software/Visual_Studio/Tango.Telemetry/TelemetryBase.cs40
1 files changed, 40 insertions, 0 deletions
diff --git a/Software/Visual_Studio/Tango.Telemetry/TelemetryBase.cs b/Software/Visual_Studio/Tango.Telemetry/TelemetryBase.cs
new file mode 100644
index 000000000..3eda84a67
--- /dev/null
+++ b/Software/Visual_Studio/Tango.Telemetry/TelemetryBase.cs
@@ -0,0 +1,40 @@
+using LiteDB;
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.Telemetry
+{
+ public class TelemetryBase : ITelemetry
+ {
+ [BsonId(true)]
+ public int Id { get; set; }
+ public DateTime Time { get; set; }
+ public List<string> PendingDestinations { get; set; }
+
+ public TelemetryBase()
+ {
+ PendingDestinations = new List<string>();
+ }
+
+ public byte[] ToBytes(Formatting format = Formatting.None, bool flatten = true)
+ {
+ return Encoding.UTF8.GetBytes(ToJson(format, flatten));
+ }
+
+ public string ToJson(Formatting format = Formatting.None, bool flatten = true)
+ {
+ if (flatten)
+ {
+ return JsonFlattener.FlattenObjectToFlatJson(this, format);
+ }
+ else
+ {
+ return JsonConvert.SerializeObject(this, format);
+ }
+ }
+ }
+}