aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/MachineStatusViewVM.cs
diff options
context:
space:
mode:
authorRoy <Roy.mail.net@gmail.com>2023-03-05 22:47:23 +0200
committerRoy <Roy.mail.net@gmail.com>2023-03-05 22:47:23 +0200
commita47bbe8211c4b7a02c6974cba017d77ea31ffc37 (patch)
tree59e94a7511053aaa0dc78978cb572f3a8fe3c57a /Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/MachineStatusViewVM.cs
parentc256fc124a867707c787074c9076227341766794 (diff)
downloadTango-a47bbe8211c4b7a02c6974cba017d77ea31ffc37.tar.gz
Tango-a47bbe8211c4b7a02c6974cba017d77ea31ffc37.zip
Dialog Adaptations.
Separate Job View. Machine Status View Start. EurekaTouchPanel.
Diffstat (limited to 'Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/MachineStatusViewVM.cs')
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/MachineStatusViewVM.cs101
1 files changed, 101 insertions, 0 deletions
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/MachineStatusViewVM.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/MachineStatusViewVM.cs
new file mode 100644
index 000000000..a0d6e2955
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/MachineStatusViewVM.cs
@@ -0,0 +1,101 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.BL.Entities;
+using Tango.Core.Commands;
+using Tango.Integration.Operation;
+using Tango.PPC.Common;
+
+namespace Tango.PPC.UI.ViewModels
+{
+ public class MachineStatusViewVM : PPCViewModel
+ {
+ private JobHandler _handler;
+
+ private Job _job;
+ /// <summary>
+ /// Gets or sets the job.
+ /// </summary>
+ public Job Job
+ {
+ get { return _job; }
+ set { _job = value; RaisePropertyChangedAuto(); }
+ }
+
+ private RunningJobStatus _runningJobStatus;
+ /// <summary>
+ /// Gets or sets the running job status.
+ /// </summary>
+ public RunningJobStatus RunningJobStatus
+ {
+ get { return _runningJobStatus; }
+ set { _runningJobStatus = value; RaisePropertyChangedAuto(); }
+ }
+
+ public RelayCommand StopCommand { get; set; }
+
+ public MachineStatusViewVM()
+ {
+ StopCommand = new RelayCommand(StopJob);
+ }
+
+ public override void OnApplicationStarted()
+ {
+ MachineProvider.MachineOperator.PrintingStarted += MachineOperator_PrintingStarted;
+ }
+
+ private void MachineOperator_PrintingStarted(object sender, PrintingEventArgs e)
+ {
+ _handler = e.JobHandler;
+ Job = e.Job;
+ e.JobHandler.StatusChanged += JobHandler_StatusChanged;
+ //e.JobHandler.SpoolChangeRequired += JobHandler_SpoolChangeRequired;
+ e.JobHandler.Stopped += JobHandler_Stopped;
+ //e.JobHandler.CanCancelChanged += JobHandler_CanCancelChanged;
+ }
+
+ private void JobHandler_Stopped(object sender, EventArgs e)
+ {
+ if (_handler != null)
+ {
+ _handler.StatusChanged -= JobHandler_StatusChanged;
+ //_handler.SpoolChangeRequired -= JobHandler_SpoolChangeRequired;
+ _handler.Stopped -= JobHandler_Stopped;
+ }
+ }
+
+ private void JobHandler_StatusChanged(object sender, RunningJobStatus e)
+ {
+ InvokeUI(() =>
+ {
+ RunningJobStatus = e;
+ });
+ }
+
+ #region Public Methods
+
+ /// <summary>
+ /// Toggles the application technician mode.
+ /// </summary>
+ public void ToggleTechnicianMode()
+ {
+ if (!ApplicationManager.IsInTechnicianMode)
+ {
+ ApplicationManager.EnterTechnicianMode();
+ }
+ else
+ {
+ ApplicationManager.ExitTechnicianMode();
+ }
+ }
+
+ private void StopJob()
+ {
+ _handler?.Cancel();
+ }
+
+ #endregion
+ }
+}