aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/LayoutViewVM.cs
diff options
context:
space:
mode:
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.cs250
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