diff options
Diffstat (limited to 'Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/LayoutViewVM.cs')
| -rw-r--r-- | Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/LayoutViewVM.cs | 250 |
1 files changed, 6 insertions, 244 deletions
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/LayoutViewVM.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/LayoutViewVM.cs index a2baec8b8..9e8a9fe34 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/LayoutViewVM.cs +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/LayoutViewVM.cs @@ -3,19 +3,13 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; -using System.Windows; -using System.Windows.Media; using System.Windows.Threading; -using Tango.Core; using Tango.Core.Commands; using Tango.Core.DI; using Tango.Integration.Operation; -using Tango.PMR.IFS; using Tango.PPC.Common; -using Tango.PPC.Common.Connection; using Tango.PPC.Common.Modules; using Tango.PPC.Common.Navigation; -using Tango.PPC.UI.Views; using Tango.PPC.UI.ViewsContracts; using Tango.SharedUI; @@ -28,7 +22,6 @@ namespace Tango.PPC.UI.ViewModels public class LayoutViewVM : PPCViewModel<ILayoutView> { private JobHandler _jobHandler; - private bool _resettingDevice; /// <summary> /// Gets or sets the module loader. @@ -36,86 +29,6 @@ namespace Tango.PPC.UI.ViewModels [TangoInject] public IPPCModuleLoader ModuleLoader { get; set; } - #region Classes - - public class CartridgeModel : ExtendedObject - { - private IMachineProvider _machineProvider; - - public CartridgeStatus Status { get; set; } - - public bool InProgress - { - get { return Status.State == CartridgeState.Filling || Status.State == CartridgeState.Emptying; } - } - - public String Message - { - get { return Status.Cartridge.Slot == PMR.Diagnostics.CartridgeSlot.Ink ? "Ink filling is in progress..." : "Waste emptying is in progress..."; } - } - - public Brush Brush - { - get - { - if (Status.Cartridge.Slot == PMR.Diagnostics.CartridgeSlot.Ink) - { - try - { - int index = Status.Cartridge.Index; - - var idsPack = _machineProvider.Machine.Configuration.NoneEmptyIdsPacks.FirstOrDefault(x => x.PackIndex == index); - - if (idsPack != null) - { - switch (idsPack.LiquidType.Type) - { - case BL.Enumerations.LiquidTypes.Cyan: - return Application.Current.Resources["TangoCyanInkBrush"] as Brush; - case BL.Enumerations.LiquidTypes.Magenta: - return Application.Current.Resources["TangoMagentaInkBrush"] as Brush; - case BL.Enumerations.LiquidTypes.Yellow: - return Application.Current.Resources["TangoYellowInkBrush"] as Brush; - case BL.Enumerations.LiquidTypes.Black: - return Application.Current.Resources["TangoBlackInkBrush"] as Brush; - case BL.Enumerations.LiquidTypes.Lubricant: - return Application.Current.Resources["TangoLubricantBrush"] as Brush; - case BL.Enumerations.LiquidTypes.Cleaner: - return Application.Current.Resources["TangoCleanerBrush"] as Brush; - case BL.Enumerations.LiquidTypes.TransparentInk: - return Application.Current.Resources["TangoTransparentInkBrush"] as Brush; - } - } - } - catch (Exception ex) - { - LogManager.Log(ex, "Error generating ink filling brush."); - } - - return Application.Current.Resources["TangoPrimaryAccentBrush"] as Brush; - } - else - { - return Application.Current.Resources["TangoWasteBrush"] as Brush; - } - } - } - - public CartridgeModel(IMachineProvider machineProvider) - { - _machineProvider = machineProvider; - Status = new CartridgeStatus(); - } - - public void Invalidate() - { - RaisePropertyChanged(nameof(InProgress)); - RaisePropertyChanged(nameof(Status)); - } - } - - #endregion - #region Properties private bool _isMenuOpened; @@ -159,23 +72,6 @@ namespace Tango.PPC.UI.ViewModels set { _isPowerOpened = value; RaisePropertyChangedAuto(); } } - private bool _isInkFillingOrWasteEmptying; - /// <summary> - /// Gets or sets a value indicating whether ink filling or waste emptying is active. - /// </summary> - public bool IsInkFillingOrWasteEmptying - { - get { return _isInkFillingOrWasteEmptying; } - set { _isInkFillingOrWasteEmptying = value; RaisePropertyChangedAuto(); } - } - - private List<CartridgeModel> _cartridges; - public List<CartridgeModel> Cartridges - { - get { return _cartridges; } - set { _cartridges = value; RaisePropertyChangedAuto(); } - } - #endregion #region Commands @@ -225,21 +121,6 @@ namespace Tango.PPC.UI.ViewModels /// </summary> public RelayCommand RestartApplicationCommand { get; set; } - /// <summary> - /// Gets or sets the power off command. - /// </summary> - public RelayCommand PowerOffCommand { get; set; } - - /// <summary> - /// Gets or sets the reset command. - /// </summary> - public RelayCommand ResetCommand { get; set; } - - /// <summary> - /// Gets or sets the stand by command. - /// </summary> - public RelayCommand StandByCommand { get; set; } - #endregion #region Constructors @@ -256,13 +137,15 @@ namespace Tango.PPC.UI.ViewModels StopPrintingCommand = new RelayCommand(StopPrinting); SignOutCommand = new RelayCommand(SignOut); - UpdateCommand = new RelayCommand(UpdateMachine); + UpdateCommand = new RelayCommand(() => + { + NavigationManager.NavigateTo(NavigationView.MachineUpdateView); + TangoIOC.Default.GetInstance<MachineUpdateViewVM>().CheckForUpdates(); + IsMenuOpened = false; + }); PowerCommand = new RelayCommand(() => IsPowerOpened = true); RestartApplicationCommand = new RelayCommand(RestartApplication); - PowerOffCommand = new RelayCommand(PowerOffMachine, () => MachineProvider.MachineOperator.Status != MachineStatuses.Disconnected); - ResetCommand = new RelayCommand(ResetMachine, () => MachineProvider.MachineOperator.Status != MachineStatuses.Disconnected); - StandByCommand = new RelayCommand(StandBy, () => MachineProvider.MachineOperator.CanPrint); } #endregion @@ -356,83 +239,6 @@ namespace Tango.PPC.UI.ViewModels } } - /// <summary> - /// Powers off the machine. - /// </summary> - private async void PowerOffMachine() - { - IsMenuOpened = false; - - if (await NotificationProvider.ShowQuestion("Are you sure you wish to turn off the machine?")) - { - try - { - await MachineProvider.MachineOperator.PowerDown(); - } - catch (Exception ex) - { - LogManager.Log(ex, "Error triggering power down."); - await NotificationProvider.ShowError(ex.FlattenMessage()); - } - } - } - - /// <summary> - /// Resets the machine. - /// </summary> - private async void ResetMachine() - { - IsMenuOpened = false; - - if (!await NotificationProvider.ShowQuestion("Are you sure you want to reset the machine?")) return; - - try - { - _resettingDevice = true; - ResetCommand.RaiseCanExecuteChanged(); - await MachineProvider.MachineOperator.Reset(); - await NotificationProvider.ShowInfo("Machine was successfully restarted."); - } - catch (Exception ex) - { - await NotificationProvider.ShowError(ex.FlattenMessage()); - } - finally - { - _resettingDevice = false; - ResetCommand.RaiseCanExecuteChanged(); - } - } - - private async void StandBy() - { - IsMenuOpened = false; - - try - { - LogManager.Log("Executing stand-by command."); - await MachineProvider.MachineOperator.StandBy(); - } - catch (Exception ex) - { - LogManager.Log(ex, "Error switching to stand-by mode."); - await NotificationProvider.ShowError($"Error switching to stand-by mode.\n{ex.FlattenMessage()}"); - } - } - - private void UpdateMachine() - { - if (MachineProvider.MachineOperator.IsPrinting) - { - NotificationProvider.ShowInfo("Cannot perform a machine update while the machine is dyeing."); - return; - } - - NavigationManager.NavigateTo(NavigationView.MachineUpdateView); - TangoIOC.Default.GetInstance<MachineUpdateViewVM>().CheckForUpdates(); - IsMenuOpened = false; - } - #endregion #region Override Methods @@ -444,34 +250,6 @@ namespace Tango.PPC.UI.ViewModels { base.OnApplicationStarted(); MachineProvider.MachineOperator.PrintingStarted += MachineOperator_PrintingStarted; - MachineProvider.MachineOperator.InkFillingStatusChanged += MachineOperator_InkFillingStatusChanged; - } - - private void MachineOperator_InkFillingStatusChanged(object sender, InkFillingStatusChangedEventArgs e) - { - if (Cartridges == null) - { - Cartridges = MachineProvider.MachineOperator.InkFillingStatus.CartridgesStatuses.Select(x => new CartridgeModel(MachineProvider) { Status = x }).ToList(); - } - else - { - foreach (var cartridgeStatus in e.Status.CartridgesStatuses) - { - var model = Cartridges.SingleOrDefault(x => x.Status == cartridgeStatus); - - if (model != null) - { - model.Status = cartridgeStatus; - } - } - } - - foreach (var cartridgeModel in Cartridges) - { - cartridgeModel.Invalidate(); - } - - IsInkFillingOrWasteEmptying = Cartridges.Any(x => x.Status.State == CartridgeState.Filling || x.Status.State == CartridgeState.Emptying); } /// <summary> @@ -482,22 +260,6 @@ namespace Tango.PPC.UI.ViewModels } - public override void OnApplicationReady() - { - base.OnApplicationReady(); - MachineProvider.MachineOperator.StatusChanged += MachineOperator_StatusChanged; - } - - private void MachineOperator_StatusChanged(object sender, MachineStatuses e) - { - InvokeUI(() => - { - PowerOffCommand.RaiseCanExecuteChanged(); - ResetCommand.RaiseCanExecuteChanged(); - StandByCommand.RaiseCanExecuteChanged(); - }); - } - #endregion #region Public Methods |
