From b8566b704e0804239bcb58dfb90b32e5334ce446 Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Sun, 15 Jul 2018 17:58:46 +0300 Subject: Implemented JobRunner on Tech Board !. --- .../ViewModels/MachineTechViewVM.cs | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels') diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs index 41fff94d9..7c2acfdbb 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs @@ -540,6 +540,11 @@ namespace Tango.MachineStudio.Technician.ViewModels var editor = CreateElement(bounds, null); InitProcessParameterItem(editor.ProcessParametersItem); } + else if (item is JobRunnerItem) + { + var editor = CreateElement(bounds, null); + InitJobRunnerItem(editor.JobRunnerItem); + } } /// @@ -664,6 +669,11 @@ namespace Tango.MachineStudio.Technician.ViewModels var editor = CreateElement(item); InitProcessParameterItem(editor.ProcessParametersItem); } + else if (item is JobRunnerItem) + { + var editor = CreateElement(item); + InitJobRunnerItem(editor.JobRunnerItem); + } } /// @@ -1182,6 +1192,49 @@ namespace Tango.MachineStudio.Technician.ViewModels }; } + /// + /// Initializes the job runner item. + /// + /// The item. + /// + private void InitJobRunnerItem(JobRunnerItem item) + { + item.StartJob += () => + { + try + { + CheckMachineOperator(); + + var handler = MachineOperator.Print(item.Job, item.ProcessParameters); + + item.JobHandler = handler; + + handler.StatusChanged += (x, status) => + { + item.RunningJobStatus = status; + }; + + handler.Stopped += (x,e) => + { + item.IsJobStarted = false; + }; + } + catch (Exception ex) + { + _notification.ShowError(ex.Message); + } + }; + + item.StopJob += () => + { + if (item.JobHandler != null) + { + item.JobHandler.Cancel(); + item.JobHandler = null; + } + }; + } + /// /// Checks the machine operator. /// -- cgit v1.3.1