diff options
Diffstat (limited to 'Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobProgressViewVM.cs')
| -rw-r--r-- | Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobProgressViewVM.cs | 108 |
1 files changed, 29 insertions, 79 deletions
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobProgressViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobProgressViewVM.cs index 8d5bd284d..103a10b28 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobProgressViewVM.cs +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobProgressViewVM.cs @@ -6,10 +6,8 @@ using System.Threading.Tasks; using Tango.BL.Entities; using Tango.Core.Commands; using Tango.Integration.Operation; -using Tango.PMR.Printing; using Tango.PPC.Common; using Tango.PPC.Common.Navigation; -using Tango.PPC.Common.Notifications; using Tango.PPC.Jobs.AppBarItems; using Tango.PPC.Jobs.AppButtons; using Tango.PPC.Jobs.Dialogs; @@ -49,26 +47,6 @@ namespace Tango.PPC.Jobs.ViewModels set { _runningJobStatus = value; RaisePropertyChangedAuto(); } } - private bool _isDisplayJobOutline; - /// <summary> - /// Gets or sets a value indicating whether to display the job outline. - /// </summary> - public bool IsDisplayJobOutline - { - get { return _isDisplayJobOutline; } - set { _isDisplayJobOutline = value; RaisePropertyChangedAuto(); } - } - - private JobTicket _jobOutlineTicket; - /// <summary> - /// Gets or sets the job outline ticket. - /// </summary> - public JobTicket JobOutlineTicket - { - get { return _jobOutlineTicket; } - set { _jobOutlineTicket = value; RaisePropertyChangedAuto(); } - } - #endregion #region Commands @@ -81,16 +59,6 @@ namespace Tango.PPC.Jobs.ViewModels /// </value> public RelayCommand GoToJobCommand { get; set; } - /// <summary> - /// Gets or sets the display job outline command. - /// </summary> - public RelayCommand DisplayJobOutlineCommand { get; set; } - - /// <summary> - /// Gets or sets the hide job outline command. - /// </summary> - public RelayCommand HideJobOutlineCommand { get; set; } - #endregion public JobProgressViewVM() @@ -99,21 +67,14 @@ namespace Tango.PPC.Jobs.ViewModels _stop_job_btn.Pressed += _stop_job_btn_Pressed; GoToJobCommand = new RelayCommand(GoToJob); - DisplayJobOutlineCommand = new RelayCommand(DisplayJobOutline); - HideJobOutlineCommand = new RelayCommand(HideJobOutline); } - #region Private Methods - - private void HideJobOutline() - { - IsDisplayJobOutline = false; - } - - private void DisplayJobOutline() + private void _stop_job_btn_Pressed() { - JobOutlineTicket = _handler.JobTicket; - IsDisplayJobOutline = true; + if (_handler != null) + { + _handler.Cancel(); + } } private void GoToJob() @@ -122,8 +83,6 @@ namespace Tango.PPC.Jobs.ViewModels NavigationManager.ClearHistoryExcept<JobsView>(); } - #endregion - #region Override Methods /// <summary> @@ -135,32 +94,41 @@ namespace Tango.PPC.Jobs.ViewModels } /// <summary> + /// Called when the navigation system has navigated from this VM view. + /// </summary> + public override void OnNavigatedFrom() + { + base.OnNavigatedFrom(); + + if (MachineProvider.MachineOperator.IsPrinting && _handler != null && !_handler.IsCanceled) + { + NotificationProvider.PushAppBarItem<JobProgressAppBarItem>().Pressed += (_, __) => + { + NotificationProvider.CurrentAppBarItem.Close(); + NavigationManager.NavigateTo<JobsModule>(nameof(JobProgressView)); + }; + } + } + + /// <summary> /// Called when the navigation system has navigated to this VM view. /// </summary> public override void OnNavigatedTo() { base.OnNavigatedTo(); - IsDisplayJobOutline = false; - - if (_handler != null && !_handler.Status.IsFailed) + if (NotificationProvider.HasAppBarItem && NotificationProvider.CurrentAppBarItem is JobProgressAppBarItem) { - _stop_job_btn.Push(); + NotificationProvider.CurrentAppBarItem.Close(); } + + _stop_job_btn.Push(); } #endregion #region Event Handlers - private void _stop_job_btn_Pressed() - { - if (_handler != null) - { - _handler.Cancel(); - } - } - /// <summary> /// Handles the PrintingStarted event of the MachineOperator. /// </summary> @@ -173,10 +141,8 @@ namespace Tango.PPC.Jobs.ViewModels e.JobHandler.StatusChanged += JobHandler_StatusChanged; e.JobHandler.SpoolChangeRequired += JobHandler_SpoolChangeRequired; e.JobHandler.Stopped += JobHandler_Stopped; - e.JobHandler.CanCancelChanged += JobHandler_CanCancelChanged; _stop_job_btn.Push(); - _stop_job_btn.IsEnabled = true; } /// <summary> @@ -206,18 +172,12 @@ namespace Tango.PPC.Jobs.ViewModels /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param> private void JobHandler_Stopped(object sender, EventArgs e) { - if (_stop_job_btn != null) + if (NotificationProvider.HasAppBarItem && NotificationProvider.CurrentAppBarItem is JobProgressAppBarItem) { - _stop_job_btn.Pop(); + NotificationProvider.CurrentAppBarItem.Close(); } - if (_handler != null) - { - _handler.StatusChanged -= JobHandler_StatusChanged; - _handler.SpoolChangeRequired -= JobHandler_SpoolChangeRequired; - _handler.Stopped -= JobHandler_Stopped; - _handler.CanCancelChanged -= JobHandler_CanCancelChanged; - } + _stop_job_btn.Pop(); } /// <summary> @@ -233,16 +193,6 @@ namespace Tango.PPC.Jobs.ViewModels }); } - /// <summary> - /// Handles the CanCancelChanged event of the JobHandler control. - /// </summary> - /// <param name="sender">The source of the event.</param> - /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param> - private void JobHandler_CanCancelChanged(object sender, EventArgs e) - { - _stop_job_btn.IsEnabled = _handler.CanCancel; - } - #endregion } } |
