using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Tango.Telemetry { public class TelemetryPublishPackage { private String _payload; internal TaskCompletionSource CompletionSource { get; set; } public ITelemetrySource Source { get; set; } public PendingTelemetry PendingTelemetry { get; set; } public TelemetrySourceTypes SourceType { get; set; } public String Environment { get; set; } public String SerialNumber { get; set; } public String MachineType { get; set; } public String Organization { get; set; } public String Site { get; set; } public String TelemetryName { get; internal set; } public int TelemetryVersion { get; internal set; } public bool DisableDeliveryRetries { get; set; } public TelemetryPublishPackage() { CompletionSource = new TaskCompletionSource(); } public String ToPayload(Formatting format = Formatting.None, bool flatten = false) { if (_payload == null) { _payload = PendingTelemetry.TelemetryObject.ToJson(format, flatten); } return _payload; } } }