aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2020-10-29 15:55:21 +0200
committerShlomo Hecht <shlomo@twine-s.com>2020-10-29 15:55:21 +0200
commit4b789f33eadfc5cc1d937a80ce03ea8425955ffe (patch)
tree7dbbd0529a24f9ca064cab688a0d6d2b8b762ea1 /Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels
parent8f3baa0d9097aa6ed800863a4680608e867c809a (diff)
parent11fb700fcbc4627162a9c3f84b03b5016248bd97 (diff)
downloadTango-4b789f33eadfc5cc1d937a80ce03ea8425955ffe.tar.gz
Tango-4b789f33eadfc5cc1d937a80ce03ea8425955ffe.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/Tango/_git/Tango
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels')
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/ConnectedMachineViewVM.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs85
3 files changed, 55 insertions, 34 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/ConnectedMachineViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/ConnectedMachineViewVM.cs
index 302c50e8e..30b2c83fd 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/ConnectedMachineViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/ConnectedMachineViewVM.cs
@@ -97,7 +97,7 @@ namespace Tango.MachineStudio.UI.ViewModels
{
var jobRuns = await db.JobRuns.Where(x => x.MachineGuid == ApplicationManager.Machine.Guid).Select(x => new { x.StartDate, x.EndDate, x.EndPosition }).ToListAsync();
- TotalMachineWorkTime = TimeSpan.FromHours(jobRuns.Select(x => x.EndDate - x.StartDate).Sum(x => x.TotalHours)).ToString(@"hh\:mm\:ss");
+ TotalMachineWorkTime = TimeSpan.FromHours(jobRuns.Select(x => x.EndDate - x.StartDate).Sum(x => x.TotalHours)).ToStringUnlimitedHours();
int meters = (int)jobRuns.Select(x => x.EndPosition).Sum();
TotalMachineMeters = $"{meters.ToString("N0")} meters";
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs
index 97ff894df..f4645ecf2 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs
@@ -263,7 +263,7 @@ namespace Tango.MachineStudio.UI.ViewModels
return;
}
- _eventLogger.Log(EventTypes.APPLICATION_STARTED, "Application Started!");
+ //_eventLogger.Log(EventTypes.APPLICATION_STARTED, "Application Started!");
_navigationManager.NavigateTo(NavigationView.MainView);
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
index 0e02d779f..4f8c8a9b1 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
@@ -58,8 +58,9 @@ namespace Tango.MachineStudio.UI.ViewModels
private IEventLogger _eventLogger;
private MachineStudioSettings _settings;
private MachineStudioWebClient _machineStudioWebClient;
- private IExternalBridgeSecureClient _reconnectionMachine;
+ private IExternalBridgeClient _reconnectionMachine;
private MachineLoginViewVM _reconnectionMachineConfig;
+ private bool _lastUploadHardwareConfigLocal;
/// <summary>
/// Gets or sets the current loaded module.
@@ -350,9 +351,16 @@ namespace Tango.MachineStudio.UI.ViewModels
ApplicationManager.ReconnectionRequired += ApplicationManager_ReconnectionRequired;
}
- private void ApplicationManager_ReconnectionRequired(object sender, EventArgs e)
+ private async void ApplicationManager_ReconnectionRequired(object sender, EventArgs e)
{
- ConnectToMachineSecure(_reconnectionMachine, _reconnectionMachineConfig);
+ if (_reconnectionMachine is IExternalBridgeSecureClient client)
+ {
+ ConnectToMachineSecure(client, _reconnectionMachineConfig);
+ }
+ else
+ {
+ await ConnectToMachineLocal(_reconnectionMachine, _reconnectionMachine.Machine, _lastUploadHardwareConfigLocal);
+ }
}
private void MachineEventsStateProvider_EventsResolved(object sender, IEnumerable<MachinesEvent> e)
@@ -486,41 +494,15 @@ namespace Tango.MachineStudio.UI.ViewModels
{
if (vm.SelectedMachine != null)
{
- using (NotificationProvider.PushTaskItem("Connecting to " + x.SelectedMachine.ToString() + "..."))
- {
- try
- {
- await x.SelectedMachine.Connect();
- x.SelectedMachine.SerialNumber = vm.SelectedMachine.SerialNumber;
- ApplicationManager.SetConnectedMachine(x.SelectedMachine);
-
- PostMessage(new MachineConnectionChangedMessage() { Machine = x.SelectedMachine });
- _settings.LastVirtualMachineSerialNumber = vm.SelectedMachine.SerialNumber;
- _settings.Save();
-
- if (x.UploadHardwareConfiguration)
- {
- UploadHardwareConfiguration(false);
- }
- }
- catch (Exception ex)
- {
- LogManager.Log(ex);
-
- _notificationProvider.ShowError("Could not connect to the selected machine." + Environment.NewLine + ex.Message);
-
- }
-
- InvalidateRelayCommands();
- }
+ await ConnectToMachineLocal(x.SelectedMachine, vm.SelectedMachine, x.UploadHardwareConfiguration);
}
});
}
- InvalidateRelayCommands();
+ base.InvalidateRelayCommands();
}
- InvalidateRelayCommands();
+ base.InvalidateRelayCommands();
});
}
else
@@ -585,6 +567,41 @@ namespace Tango.MachineStudio.UI.ViewModels
InvalidateRelayCommands();
}
+ private async Task ConnectToMachineLocal(IExternalBridgeClient client, Machine machine, bool uploadHardwareConfig)
+ {
+ using (NotificationProvider.PushTaskItem("Connecting to " + client.ToString() + "..."))
+ {
+ try
+ {
+ _reconnectionMachine = client;
+
+ await client.Connect();
+ client.SerialNumber = machine.SerialNumber;
+ ApplicationManager.SetConnectedMachine(client);
+
+ PostMessage(new MachineConnectionChangedMessage() { Machine = client });
+ _settings.LastVirtualMachineSerialNumber = machine.SerialNumber;
+ _settings.Save();
+
+ _lastUploadHardwareConfigLocal = uploadHardwareConfig;
+
+ if (uploadHardwareConfig)
+ {
+ UploadHardwareConfiguration(false);
+ }
+ }
+ catch (Exception ex)
+ {
+ LogManager.Log(ex);
+
+ _notificationProvider.ShowError("Could not connect to the selected machine." + Environment.NewLine + ex.Message);
+
+ }
+
+ InvalidateRelayCommands();
+ }
+ }
+
private async void ConnectToMachineSecure(IExternalBridgeSecureClient machine, MachineLoginViewVM config)
{
using (NotificationProvider.PushTaskItem("Connecting to machine " + machine.ToString() + "..."))
@@ -600,6 +617,10 @@ namespace Tango.MachineStudio.UI.ViewModels
Intent = config.Intent,
UserName = AuthenticationProvider.CurrentUser.Contact.FullName,
RequireSafetyLevelOperations = config.RequireSafetyOperations
+ }, new PMR.Integration.ConfigureProtocolRequest()
+ {
+ EnableCompression = true,
+ GenericProtocol = PMR.Integration.GenericMessageProtocol.Bson
});
_reconnectionMachine = machine;