aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-07-15 17:58:46 +0300
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-07-15 17:58:46 +0300
commitb8566b704e0804239bcb58dfb90b32e5334ce446 (patch)
treebe58a5f0c37690b07a48db45e9b0fc498c680b58 /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs
parentb90acacb7dbef7d088d57a200cc4d71148bffd1e (diff)
downloadTango-b8566b704e0804239bcb58dfb90b32e5334ce446.tar.gz
Tango-b8566b704e0804239bcb58dfb90b32e5334ce446.zip
Implemented JobRunner on Tech Board !.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs53
1 files changed, 53 insertions, 0 deletions
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<ProcessParametersElementEditor, ProcessParametersItem, object>(bounds, null);
InitProcessParameterItem(editor.ProcessParametersItem);
}
+ else if (item is JobRunnerItem)
+ {
+ var editor = CreateElement<JobRunnerElementEditor, JobRunnerItem, object>(bounds, null);
+ InitJobRunnerItem(editor.JobRunnerItem);
+ }
}
/// <summary>
@@ -664,6 +669,11 @@ namespace Tango.MachineStudio.Technician.ViewModels
var editor = CreateElement<ProcessParametersElementEditor>(item);
InitProcessParameterItem(editor.ProcessParametersItem);
}
+ else if (item is JobRunnerItem)
+ {
+ var editor = CreateElement<JobRunnerElementEditor>(item);
+ InitJobRunnerItem(editor.JobRunnerItem);
+ }
}
/// <summary>
@@ -1183,6 +1193,49 @@ namespace Tango.MachineStudio.Technician.ViewModels
}
/// <summary>
+ /// Initializes the job runner item.
+ /// </summary>
+ /// <param name="item">The item.</param>
+ /// <exception cref="NotImplementedException"></exception>
+ 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;
+ }
+ };
+ }
+
+ /// <summary>
/// Checks the machine operator.
/// </summary>
/// <exception cref="InvalidOperationException">No machine connected.</exception>