aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Utilities
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2025-08-07 16:22:43 +0300
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2025-08-07 16:22:43 +0300
commit61bc5d6672a0dd3c7fd0f8e1a95d5c037fb20cab (patch)
tree5963d8d118fd31e34de5d89463542ef4ccf56136 /Software/Visual_Studio/Utilities
parent8bbeffb422e8535c399f1eb76a55fdee5a1c65b6 (diff)
downloadTango-61bc5d6672a0dd3c7fd0f8e1a95d5c037fb20cab.tar.gz
Tango-61bc5d6672a0dd3c7fd0f8e1a95d5c037fb20cab.zip
Telemetry.
Diffstat (limited to 'Software/Visual_Studio/Utilities')
-rw-r--r--Software/Visual_Studio/Utilities/Tango.Telemetry.Tester.IOT.CLI/Program.cs65
1 files changed, 59 insertions, 6 deletions
diff --git a/Software/Visual_Studio/Utilities/Tango.Telemetry.Tester.IOT.CLI/Program.cs b/Software/Visual_Studio/Utilities/Tango.Telemetry.Tester.IOT.CLI/Program.cs
index 0565ab00d..fee2fe346 100644
--- a/Software/Visual_Studio/Utilities/Tango.Telemetry.Tester.IOT.CLI/Program.cs
+++ b/Software/Visual_Studio/Utilities/Tango.Telemetry.Tester.IOT.CLI/Program.cs
@@ -9,18 +9,24 @@ using Tango.Logging;
using Tango.Telemetry.Destinations;
using Tango.Telemetry.Mappers;
using Tango.Telemetry.Sources;
+using Tango.Telemetry.Telemetries;
+using System.Data.Entity;
+using Tango.BL.Entities;
namespace Tango.Telemetry.Tester.IOT.CLI
{
class Program
{
+ private static List<MachineExtendedInfo> _machineInfos;
+ private static int _counter = 1;
+
static void Main(string[] args)
{
LogManager.Default.RegisterLogger(new Tango.Logging.VSOutputLogger("IOT TESTER"));
TelemetryPublisher publisher = new TelemetryPublisher(new TelemetryPublisherConfiguration()
{
- Environment = "DEV",
+ Environment = "PROD",
SerialNumber = "dev-machine",
Organization = "Twine",
MachineType = MachineTypes.TS1800,
@@ -35,6 +41,7 @@ namespace Tango.Telemetry.Tester.IOT.CLI
publisher.RegisterDestination(new TelemetryAzureHubDestination("HostName=iot-twine-dev-weu.azure-devices.net;DeviceId=telemetry-dev-01;SharedAccessKey=cZhCMhiVL+TF7p13fpX+lFmyxoy8ZqCkbxUwumWw18Q="));
publisher.PublishResultAvailable += Publisher_PublishResultAvailable;
+ publisher.PublishingPackage += Publisher_PublishingPackage;
publisher.Start().GetAwaiter().GetResult();
@@ -49,6 +56,42 @@ namespace Tango.Telemetry.Tester.IOT.CLI
publisher.Dispose();
}
+ private static void Publisher_PublishingPackage(object sender, TelemetryPackagePublishingEventArgs e)
+ {
+ TelemetryJobRun tRun = e.Package.PendingTelemetry.TelemetryObject as TelemetryJobRun;
+
+ if (_machineInfos == null)
+ {
+ using (ObservablesContext db = ObservablesContext.CreateDefault())
+ {
+ _machineInfos = new List<MachineExtendedInfo>();
+ var machinesOrganizations = db.Machines.Include(x => x.Organization).Select(x => new { x, x.Organization.Name, x.SiteGuid }).ToList();
+ foreach (var item in machinesOrganizations)
+ {
+ MachineExtendedInfo info = new MachineExtendedInfo();
+ info.Machine = item.x;
+ info.Organization = item.Name;
+ info.Site = db.Sites.FirstOrDefault(x => x.Guid == item.SiteGuid)?.Name;
+ _machineInfos.Add(info);
+ }
+ }
+ }
+
+ var machineInfo = _machineInfos.FirstOrDefault(x => x.Machine.Guid == tRun.MachineGuid);
+
+ if (machineInfo == null)
+ {
+ e.Cancel = true;
+ }
+ else
+ {
+ e.Package.Organization = machineInfo.Organization;
+ e.Package.Site = machineInfo.Site;
+ e.Package.SerialNumber = machineInfo.Machine.SerialNumber;
+ e.Package.MachineType = machineInfo.Machine.Type.ToShortName();
+ }
+ }
+
private static void Publisher_PublishResultAvailable(object sender, TelemetryPublishResultAvailableEventArgs e)
{
Console.ForegroundColor = ConsoleColor.DarkGray;
@@ -62,7 +105,7 @@ namespace Tango.Telemetry.Tester.IOT.CLI
else
{
Console.ForegroundColor = ConsoleColor.Green;
- Console.WriteLine("Package successfully published.");
+ Console.WriteLine($"Package {_counter++} successfully published.");
}
Console.ResetColor();
@@ -70,6 +113,13 @@ namespace Tango.Telemetry.Tester.IOT.CLI
}
}
+ public class MachineExtendedInfo
+ {
+ public Machine Machine { get; set; }
+ public String Organization { get; set; }
+ public String Site { get; set; }
+ }
+
public class JobRunsTestSource : ITelemetryHistorySource
{
private bool _busy;
@@ -91,18 +141,21 @@ namespace Tango.Telemetry.Tester.IOT.CLI
public Task<IEnumerable<ITelemetry>> RequestHistory(DateTime from)
{
_busy = true;
-
+
ObservablesContext.OverrideSettingsDataSource(new Core.DataSource()
{
- Address = "localhost\\SQLPPC",
- IntegratedSecurity = true,
+ Address = "twine.database.windows.net",
+ IntegratedSecurity = false,
Catalog = "Tango",
+ UserName = "Roy",
+ Password = "Aa123456",
Type = Core.DataSourceType.SQLServer,
});
using (ObservablesContext db = ObservablesContext.CreateDefault())
{
- var runs = db.JobRuns.OrderByDescending(x => x.LastUpdated).Where(x => x.LastUpdated < from).Take(1).ToList();
+ var runs = db.JobRuns.Where(x => x.LastUpdated < from).OrderByDescending(x => x.LastUpdated).Take(100).ToList();
+
var runsT = runs.Select(x => JobRunMapper.MapJobRun(x)).ToList();
_busy = false;