From ba6abe56c52a9ba0e73c30062ed2e73dee883fa6 Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Sun, 4 Feb 2018 16:44:48 +0200 Subject: Added basic skeleton for job printing communication. Added Job Handling for Machine Operator & Machine Emulator. --- .../Tango.MachineStudio.Developer.csproj | 16 +++++++++++ .../ViewModels/MainViewVM.cs | 33 +++++++++++----------- .../Tango.MachineStudio.Developer/packages.config | 6 ++++ 3 files changed, 39 insertions(+), 16 deletions(-) (limited to 'Software/Visual_Studio/MachineStudio/Modules') diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Tango.MachineStudio.Developer.csproj b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Tango.MachineStudio.Developer.csproj index 43c5707ef..7a3e838cf 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Tango.MachineStudio.Developer.csproj +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Tango.MachineStudio.Developer.csproj @@ -57,6 +57,22 @@ + + ..\..\..\packages\System.Reactive.Core.3.1.1\lib\net46\System.Reactive.Core.dll + + + ..\..\..\packages\System.Reactive.Interfaces.3.1.1\lib\net45\System.Reactive.Interfaces.dll + + + ..\..\..\packages\System.Reactive.Linq.3.1.1\lib\net46\System.Reactive.Linq.dll + + + ..\..\..\packages\System.Reactive.PlatformServices.3.1.1\lib\net46\System.Reactive.PlatformServices.dll + + + ..\..\..\packages\System.Reactive.Windows.Threading.3.1.1\lib\net45\System.Reactive.Windows.Threading.dll + + ..\..\..\packages\MvvmLightLibs.5.3.0.0\lib\net45\System.Windows.Interactivity.dll diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs index 09770e607..86748d2f0 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs @@ -25,6 +25,7 @@ using System.Reflection; using Tango.PMR.Common; using Tango.SharedUI.Helpers; using Tango.Transport; +using Tango.Integration.Printing; namespace Tango.MachineStudio.Developer.ViewModels { @@ -38,6 +39,7 @@ namespace Tango.MachineStudio.Developer.ViewModels private TimeSpan _runningJobEstimatedDuration; private Dictionary _controllers; private int _fullScreenGraphIndex; + private JobHandler _jobHandler; #region Properties @@ -661,6 +663,7 @@ namespace Tango.MachineStudio.Developer.ViewModels { IsJobRunning = false; IsJobCanceled = true; + _jobHandler.Cancel(); } private void CompleteJob() @@ -687,27 +690,25 @@ namespace Tango.MachineStudio.Developer.ViewModels RunningJob = SelectedJob; _runningJobEstimatedDuration = EstimatedDuration; - DispatcherTimer timer = new DispatcherTimer(); - timer.Interval = TimeSpan.FromSeconds(0.03); - timer.Tick += (x, y) => + + _jobHandler = MachineOperator.Print(SelectedJob, SelectedProcessParametersTable); + + _jobHandler.StatusReceived += (x, status) => { RunningJobRemainingTime = _runningJobEstimatedDuration - TimeSpan.FromSeconds(RunningJobProgress / (SelectedProcessParametersTable.DyeingSpeed / 100d)); - RunningJobProgress += 0.03; + RunningJobProgress = status.Progress; + }; - if (!IsJobRunning) - { - timer.Stop(); - return; - } - else if (RunningJobProgress >= RunningJob.Length) - { - timer.Stop(); - CompleteJob(); - return; - } + + _jobHandler.Completed += (x, e) => + { + CompleteJob(); }; - timer.Start(); + _jobHandler.Canceled += (x, y) => + { + //Finally Canceled.. + }; } private async void SaveJobs() diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/packages.config b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/packages.config index 9f69ed86f..6c338d81b 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/packages.config +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/packages.config @@ -6,4 +6,10 @@ + + + + + + \ No newline at end of file -- cgit v1.3.1