aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs
diff options
context:
space:
mode:
authorAvi Levkovich <avi@twine-s.com>2018-02-20 16:45:00 +0200
committerAvi Levkovich <avi@twine-s.com>2018-02-20 16:45:00 +0200
commit6c208c90bc45aff4a7fa214356a42fe7757c5e6f (patch)
tree0d77bc6a0ecfbb53cf42c5462ee19212197ee1bd /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs
parentb0823127f152fe97a6e8fce29e427c7f3db9cf5a (diff)
parent1a573aaa346ec4b8bd58a0e35ab9df571a09b855 (diff)
downloadTango-6c208c90bc45aff4a7fa214356a42fe7757c5e6f.tar.gz
Tango-6c208c90bc45aff4a7fa214356a42fe7757c5e6f.zip
MERGE
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs415
1 files changed, 312 insertions, 103 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs
index ca1c95a03..6fbd5852d 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs
@@ -9,17 +9,22 @@ using System.Threading.Tasks;
using System.Windows.Data;
using Tango.Core.Commands;
using Tango.Core.Helpers;
-using Tango.DAL.Observables;
+using Tango.Integration.Observables;
using Tango.MachineStudio.Common.Notifications;
using Tango.SharedUI;
using SimpleValidator.Extensions;
+using Tango.MachineStudio.Common.StudioApplication;
+using Tango.MachineStudio.Common;
namespace Tango.MachineStudio.MachineDesigner.ViewModels
{
- public class MainViewVM : ViewModel
+ public class MainViewVM : ViewModel, IModuleRequestListener
{
private bool _isSaving;
private INotificationProvider _notification;
+
+
+ #region Properties
private ObservablesEntitiesAdapter _adapter;
/// <summary>
@@ -33,7 +38,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
private Machine _machine;
/// <summary>
- /// Gets or sets the machine.
+ /// Gets or sets the current editable machine.
/// </summary>
public Machine Machine
{
@@ -42,6 +47,9 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
}
private Machine _selectedMachine;
+ /// <summary>
+ /// Gets or sets the selected machine from the drop down.
+ /// </summary>
public Machine SelectedMachine
{
get { return _selectedMachine; }
@@ -50,7 +58,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
private Configuration _configuration;
/// <summary>
- /// Gets or sets the configuration.
+ /// Gets or sets the editable machine configuration.
/// </summary>
public Configuration Configuration
{
@@ -69,17 +77,18 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
}
private ObservableCollection<Configuration> _history;
-
+ /// <summary>
+ /// Gets or sets the machine configuration history.
+ /// </summary>
public ObservableCollection<Configuration> History
{
get { return _history; }
set { _history = value; RaisePropertyChangedAuto(); }
}
-
private Configuration _selectedHistoryConfiguration;
/// <summary>
- /// Gets or sets the selected history configuration.
+ /// Gets or sets the machine selected configuration from history.
/// </summary>
public Configuration SelectedHistoryConfiguration
{
@@ -88,20 +97,49 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
}
private String _filter;
-
+ /// <summary>
+ /// Gets or sets the configuration components filter.
+ /// </summary>
public String Filter
{
get { return _filter; }
set { _filter = value; RaisePropertyChangedAuto(); OnFilterChanged(); }
}
+ #endregion
+
+ #region Commands
+
+ /// <summary>
+ /// Gets or sets the save command.
+ /// </summary>
public RelayCommand SaveCommand { get; set; }
+ /// <summary>
+ /// Gets or sets the add ids command.
+ /// </summary>
public RelayCommand AddIdsCommand { get; set; }
+ /// <summary>
+ /// Gets or sets the remove ids command.
+ /// </summary>
public RelayCommand RemoveIdsCommand { get; set; }
/// <summary>
+ /// Gets or sets the set version configuration command.
+ /// </summary>
+ public RelayCommand SetVersionConfigurationCommand { get; set; }
+
+ /// <summary>
+ /// Gets or sets the set as default command.
+ /// </summary>
+ public RelayCommand SetAsDefaultCommand { get; set; }
+
+ #endregion
+
+ #region Constructors
+
+ /// <summary>
/// Initializes a new instance of the <see cref="MainViewVM"/> class.
/// </summary>
public MainViewVM(INotificationProvider notification)
@@ -117,9 +155,18 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
SaveCommand = new RelayCommand(Save, (x) => !_isSaving);
AddIdsCommand = new RelayCommand(AddIds, (x) => !_isSaving && Configuration.IdsPacks.Count < 8);
RemoveIdsCommand = new RelayCommand(RemoveIds, (x) => !_isSaving && SelectedIds != null);
+ SetVersionConfigurationCommand = new RelayCommand(SetVersionConfiguration,(x) => !_isSaving);
+ SetAsDefaultCommand = new RelayCommand(SetAsDefaultConfiguration,(x) => !_isSaving);
}
- private void OnSelectedMachineChanged()
+ #endregion
+
+ #region Virtual Methods
+
+ /// <summary>
+ /// Called when the selected machine has changed.
+ /// </summary>
+ protected virtual void OnSelectedMachineChanged()
{
if (SelectedMachine != null)
{
@@ -133,136 +180,224 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
}
}
- public void DropIdsPack(IdsPack idsPack1, IdsPack idsPack2)
+ /// <summary>
+ /// Called when the history configuration has been selected
+ /// </summary>
+ protected virtual void OnHistoryConfigurationSelected()
{
- Configuration.IdsPacks.Swap(idsPack1, idsPack2);
+ if (SelectedHistoryConfiguration != null)
+ {
+ Configuration = SelectedHistoryConfiguration.CloneConfiguration();
+ }
}
- private void OnHistoryConfigurationSelected()
+ /// <summary>
+ /// Called when the filter has changed
+ /// </summary>
+ protected virtual void OnFilterChanged()
{
- if (SelectedHistoryConfiguration != null)
+
+
+ List<ICollectionView> collections = new List<ICollectionView>();
+ collections.Add(Adapter.ApplicationDisplayPanelVersionsViewSource);
+ collections.Add(Adapter.ApplicationVersionsViewSource);
+ collections.Add(Adapter.EmbeddedSoftwareVersionsViewSource);
+ collections.Add(Adapter.EmbeddedFirmwareVersionsViewSource);
+ collections.Add(Adapter.ApplicationOsVersionsViewSource);
+ collections.Add(Adapter.ApplicationVersionsViewSource);
+ collections.Add(Adapter.DispenserTypesViewSource);
+ collections.Add(Adapter.CartridgeTypesViewSource);
+ collections.Add(Adapter.LiquidTypesViewSource);
+ collections.Add(Adapter.MidTankTypesViewSource);
+ collections.Add(Adapter.HardwareVersionsViewSource);
+
+ foreach (var collection in collections)
{
- Configuration = SelectedHistoryConfiguration.CloneConfiguration();
+ collection.Filter = (x) =>
+ {
+ foreach (var prop in x.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance).Where(y => y.PropertyType == typeof(String)))
+ {
+ String value = prop.GetValue(x).ToStringSafe();
+
+ if (value != null)
+ {
+ if (value.ToLower().Contains(Filter.ToLower()))
+ {
+ return true;
+ }
+ }
+ }
+
+ return false;
+ };
}
}
+ #endregion
+
+ #region Drag Drop Handlers
+
+ /// <summary>
+ /// Drops the ids pack.
+ /// </summary>
+ /// <param name="idsPack1">The ids pack1.</param>
+ /// <param name="idsPack2">The ids pack2.</param>
+ public void DropIdsPack(IdsPack idsPack1, IdsPack idsPack2)
+ {
+ Configuration.IdsPacks.Swap(idsPack1, idsPack2);
+ }
+
+ /// <summary>
+ /// Drops the touch panel.
+ /// </summary>
+ /// <param name="applicationDisplayPanelVersion">The application display panel version.</param>
public void DropTouchPanel(ApplicationDisplayPanelVersion applicationDisplayPanelVersion)
{
- Configuration.ApplicationDisplayPanelVersions = applicationDisplayPanelVersion;
+ Configuration.ApplicationDisplayPanelVersion = applicationDisplayPanelVersion;
Configuration.ApplicationDisplayPanelVersionGuid = applicationDisplayPanelVersion.Guid;
}
+ /// <summary>
+ /// Drops the application firmware version.
+ /// </summary>
+ /// <param name="applicationFirmwareVersion">The application firmware version.</param>
public void DropApplicationFirmwareVersion(ApplicationFirmwareVersion applicationFirmwareVersion)
{
- Configuration.ApplicationFirmwareVersions = applicationFirmwareVersion;
+ Configuration.ApplicationFirmwareVersion = applicationFirmwareVersion;
Configuration.ApplicationFirmwareVersionGuid = applicationFirmwareVersion.Guid;
}
+ /// <summary>
+ /// Drops the application version.
+ /// </summary>
+ /// <param name="applicationVersion">The application version.</param>
public void DropApplicationVersion(ApplicationVersion applicationVersion)
{
- Configuration.ApplicationVersions = applicationVersion;
+ Configuration.ApplicationVersion = applicationVersion;
Configuration.ApplicationVersionGuid = applicationVersion.Guid;
}
+ /// <summary>
+ /// Drops the hardware version.
+ /// </summary>
+ /// <param name="hardwareVersion">The hardware version.</param>
public void DropHardwareVersion(HardwareVersion hardwareVersion)
{
- Configuration.HardwareVersions = hardwareVersion;
+ Configuration.HardwareVersion = hardwareVersion;
Configuration.HardwareVersionGuid = hardwareVersion.Guid;
}
+ /// <summary>
+ /// Drops the embedded firmware.
+ /// </summary>
+ /// <param name="embeddedFirmwareVersion">The embedded firmware version.</param>
public void DropEmbeddedFirmware(EmbeddedFirmwareVersion embeddedFirmwareVersion)
{
- Configuration.EmbeddedFirmwareVersions = embeddedFirmwareVersion;
+ Configuration.EmbeddedFirmwareVersion = embeddedFirmwareVersion;
Configuration.EmbeddedFirmwareVersionGuid = embeddedFirmwareVersion.Guid;
}
+ /// <summary>
+ /// Drops the embedded software.
+ /// </summary>
+ /// <param name="embeddedSoftwareVersion">The embedded software version.</param>
public void DropEmbeddedSoftware(EmbeddedSoftwareVersion embeddedSoftwareVersion)
{
- Configuration.EmbeddedSoftwareVersions = embeddedSoftwareVersion;
+ Configuration.EmbeddedSoftwareVersion = embeddedSoftwareVersion;
Configuration.EmbeddedSoftwareVersionGuid = embeddedSoftwareVersion.Guid;
}
+ /// <summary>
+ /// Drops the application os version.
+ /// </summary>
+ /// <param name="applicationOsVersion">The application os version.</param>
public void DropApplicationOsVersion(ApplicationOsVersion applicationOsVersion)
{
- Configuration.ApplicationOsVersions = applicationOsVersion;
+ Configuration.ApplicationOsVersion = applicationOsVersion;
Configuration.ApplicationVersionGuid = applicationOsVersion.Guid;
}
- private void RemoveIds()
- {
- Configuration.IdsPacks.Remove(SelectedIds);
- SelectedIds = null;
- }
-
- private void AddIds()
- {
- Configuration.IdsPacks.Add(new IdsPack() { Configuration = Configuration });
- InvalidateRelayCommands();
- }
-
+ /// <summary>
+ /// Drops the type of the cartridge.
+ /// </summary>
+ /// <param name="cartridgeType">Type of the cartridge.</param>
+ /// <param name="idsPack">The ids pack.</param>
public void DropCartridgeType(CartridgeType cartridgeType, IdsPack idsPack)
{
- idsPack.CartridgeTypes = cartridgeType;
+ idsPack.CartridgeType = cartridgeType;
idsPack.CartridgeTypeGuid = cartridgeType.Guid;
}
- public void DropDispenser(Dispenser dispenser, IdsPack idsPack)
+ /// <summary>
+ /// Drops the dispenser.
+ /// </summary>
+ /// <param name="dispenserType">The dispenser.</param>
+ /// <param name="idsPack">The ids pack.</param>
+ public void DropDispenserType(DispenserType dispenserType, IdsPack idsPack)
{
- idsPack.Dispenser = dispenser;
- idsPack.DispenserGuid = dispenser.Guid;
+ idsPack.DispenserType = dispenserType;
+ idsPack.DispenserTypeGuid = dispenserType.Guid;
}
+ /// <summary>
+ /// Drops the type of the mid tank.
+ /// </summary>
+ /// <param name="midTankType">Type of the mid tank.</param>
+ /// <param name="idsPack">The ids pack.</param>
public void DropMidTankType(MidTankType midTankType, IdsPack idsPack)
{
- idsPack.MidTankTypes = midTankType;
+ idsPack.MidTankType = midTankType;
idsPack.MidTankTypeGuid = midTankType.Guid;
}
+ /// <summary>
+ /// Drops the type of the liquid.
+ /// </summary>
+ /// <param name="liquidType">Type of the liquid.</param>
+ /// <param name="idsPack">The ids pack.</param>
public void DropLiquidType(LiquidType liquidType, IdsPack idsPack)
{
- idsPack.LiquidTypes = liquidType;
+ idsPack.LiquidType = liquidType;
idsPack.LiquidTypeGuid = liquidType.Guid;
}
- private void OnFilterChanged()
+ /// <summary>
+ /// Drops the ids formula.
+ /// </summary>
+ /// <param name="idsPackFormula">The ids pack formula.</param>
+ /// <param name="idsPack">The ids pack.</param>
+ /// <exception cref="NotImplementedException"></exception>
+ public void DropIdsFormula(IdsPackFormula idsPackFormula, IdsPack idsPack)
{
+ idsPack.IdsPackFormula = idsPackFormula;
+ idsPack.IdsPackFormulaGuid = idsPackFormula.Guid;
+ }
+ #endregion
- List<ICollectionView> collections = new List<ICollectionView>();
- collections.Add(Adapter.ApplicationDisplayPanelVersionsViewSource);
- collections.Add(Adapter.ApplicationVersionsViewSource);
- collections.Add(Adapter.EmbeddedSoftwareVersionsViewSource);
- collections.Add(Adapter.EmbeddedFirmwareVersionsViewSource);
- collections.Add(Adapter.ApplicationOsVersionsViewSource);
- collections.Add(Adapter.ApplicationVersionsViewSource);
- collections.Add(Adapter.DispensersViewSource);
- collections.Add(Adapter.CartridgeTypesViewSource);
- collections.Add(Adapter.LiquidTypesViewSource);
- collections.Add(Adapter.MidTankTypesViewSource);
- collections.Add(Adapter.HardwareVersionsViewSource);
+ #region Private Methods
- foreach (var collection in collections)
- {
- collection.Filter = (x) =>
- {
- foreach (var prop in x.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance).Where(y => y.PropertyType == typeof(String)))
- {
- String value = prop.GetValue(x).ToStringSafe();
-
- if (value != null)
- {
- if (value.ToLower().Contains(Filter.ToLower()))
- {
- return true;
- }
- }
- }
+ /// <summary>
+ /// Removes the selected IDS pack.
+ /// </summary>
+ private void RemoveIds()
+ {
+ Configuration.IdsPacks.Remove(SelectedIds);
+ SelectedIds = null;
+ }
- return false;
- };
- }
+ /// <summary>
+ /// Adds a new IDS pack.
+ /// </summary>
+ private void AddIds()
+ {
+ Configuration.IdsPacks.Add(new IdsPack() { Configuration = Configuration });
+ InvalidateRelayCommands();
}
+ /// <summary>
+ /// Saves the current machine configuration.
+ /// </summary>
private async void Save()
{
foreach (var ids in Configuration.IdsPacks)
@@ -276,9 +411,9 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
List<String> errors = new List<string>();
- if (Machine.MachineVersions == null)
+ if (Machine.MachineVersion == null)
{
- errors.Add("Machine Version is required.");
+ errors.Add("Machine version is required.");
}
if (Machine.Name.IsNullOrWhiteSpace())
@@ -301,39 +436,39 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
errors.Add("Configuration name is required.");
}
- if (Configuration.ApplicationDisplayPanelVersions == null)
+ if (Configuration.ApplicationDisplayPanelVersion == null)
{
errors.Add("Touch Panel is required.");
}
- if (Configuration.ApplicationFirmwareVersions == null)
+ if (Configuration.ApplicationFirmwareVersion == null)
{
- errors.Add("Application Firmware is required.");
+ errors.Add("Application firmware is required.");
}
- if (Configuration.ApplicationOsVersions == null)
+ if (Configuration.ApplicationOsVersion == null)
{
- errors.Add("Application OS Version is required.");
+ errors.Add("Application operation system is required.");
}
- if (Configuration.ApplicationVersions == null)
+ if (Configuration.ApplicationVersion == null)
{
- errors.Add("Application Version is required.");
+ errors.Add("Application version is required.");
}
- if (Configuration.EmbeddedFirmwareVersions == null)
+ if (Configuration.EmbeddedFirmwareVersion == null)
{
- errors.Add("Embedded Firmware is required.");
+ errors.Add("Embedded firmware is required.");
}
- if (Configuration.EmbeddedSoftwareVersions == null)
+ if (Configuration.EmbeddedSoftwareVersion == null)
{
- errors.Add("Embedded Software is required.");
+ errors.Add("Embedded software is required.");
}
- if (Configuration.HardwareVersions == null)
+ if (Configuration.HardwareVersion == null)
{
- errors.Add("Hardware Version is required.");
+ errors.Add("Hardware version is required.");
}
foreach (var pack in Configuration.IdsPacks)
@@ -343,31 +478,22 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
errors.Add(String.Format("Name is required on IDS pack number '{0}'.", Configuration.IdsPacks.IndexOf(pack) + 1));
continue;
}
- if (pack.CartridgeTypes == null)
+ if (pack.CartridgeType == null)
{
errors.Add(String.Format("Cartridge type is required on IDS pack '{0}'.", pack.Name));
}
- if (pack.Dispenser == null)
+ if (pack.DispenserType == null)
{
- errors.Add(String.Format("Dispenser is required on IDS pack '{0}'.", pack.Name));
+ errors.Add(String.Format("Dispenser type is required on IDS pack '{0}'.", pack.Name));
}
- if (pack.LiquidTypes == null)
+ if (pack.LiquidType == null)
{
errors.Add(String.Format("Liquid type is required on IDS pack '{0}'.", pack.Name));
}
- if (pack.MidTankTypes == null)
+ if (pack.MidTankType == null)
{
errors.Add(String.Format("Mid Tank type is required on IDS pack '{0}'.", pack.Name));
}
-
- var taken_ids = Adapter.Machines.Where(x => x.SerialNumber.ToLower() != Machine.SerialNumber).SelectMany(x => x.MachinesConfigurations).Select(x => x.Configuration).SelectMany(x => x.IdsPacks).ToList().FirstOrDefault(x => x.Dispenser.SerialNumber.ToLower() == pack.Dispenser.SerialNumber.ToLower());
- if (taken_ids != null && taken_ids.Configuration.MachinesConfigurations.Count > 0)
- {
- if (!_notification.ShowQuestion(String.Format("The Dispenser '{1}' on IDS pack '{0}' is already taken by another machine ('{2}', '{3}'). Are you sure you want to assign it to this machine?", pack.Name, pack.Dispenser.SerialNumber, taken_ids.Configuration.MachinesConfigurations.First().Machine.Name, taken_ids.Configuration.MachinesConfigurations.First().Machine.SerialNumber)))
- {
- return;
- }
- }
}
if (errors.Count > 0)
@@ -403,7 +529,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
Configuration = Configuration,
Machine = Machine,
});
- await Machine.SaveAsync();
+ await Machine.SaveAsync(Adapter.Context);
Machine = Adapter.Machines.SingleOrDefault(x => x.Guid == Machine.Guid);
Configuration = Machine.Configuration.CloneConfiguration();
@@ -419,7 +545,6 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
machine.Name = Machine.Name;
machine.SerialNumber = Machine.SerialNumber;
- machine.Configuration = Configuration;
machine.Organization = Machine.Organization;
@@ -431,8 +556,14 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
Machine = machine
});
}
+ else
+ {
+ machine.Configuration.DefferedDelete(Adapter.Context);
+ }
- await machine.SaveAsync();
+ machine.Configuration = Configuration;
+
+ await machine.SaveAsync(Adapter.Context);
Machine = Adapter.Machines.SingleOrDefault(x => x.Guid == machine.Guid);
Configuration = Machine.Configuration.CloneConfiguration();
@@ -453,10 +584,88 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
}
}
+ /// <summary>
+ /// Sets the specified machine history.
+ /// </summary>
+ /// <param name="machine">The machine.</param>
private void SetHistory(Machine machine)
{
History = machine.MachinesConfigurations.Select(x => x.Configuration).ToObservableCollection();
History.Insert(0, machine.Configuration);
}
+
+ /// <summary>
+ /// Sets the current configuration to the selected machine version default configuration.
+ /// </summary>
+ private void SetVersionConfiguration()
+ {
+ if (Machine.MachineVersion != null)
+ {
+ Configuration = Machine.MachineVersion.DefaultConfiguration.CloneConfiguration();
+ }
+ else
+ {
+ _notification.ShowError("No machine version selected.");
+ }
+ }
+
+ /// <summary>
+ /// Sets the current configuration as a default machine version configuration.
+ /// </summary>
+ private void SetAsDefaultConfiguration()
+ {
+ _notification.ShowModalDialog<MachineVersionDialogVM>(async (vm) =>
+ {
+ try
+ {
+ using (_notification.PushTaskItem("Saving Default Configuration..."))
+ {
+ if (vm.SelectedVersion != null)
+ {
+ vm.SelectedVersion.DefaultConfiguration = Configuration.CloneConfiguration();
+ vm.SelectedVersion.DefaultConfigurationGuid = vm.SelectedVersion.DefaultConfiguration.Guid;
+ await vm.SelectedVersion.SaveAsync(Adapter.Context);
+ }
+ else
+ {
+ MachineVersion newVersion = new MachineVersion();
+ newVersion.Version = vm.Version;
+ newVersion.Name = vm.VersionName;
+
+ newVersion.DefaultConfiguration = Configuration.CloneConfiguration();
+ newVersion.DefaultConfigurationGuid = newVersion.DefaultConfiguration.Guid;
+ await newVersion.SaveAsync(Adapter.Context);
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ _notification.ShowError(ex.Message);
+ }
+
+ }, () =>
+ {
+
+ });
+ }
+
+ #endregion
+
+ #region IModuleRequestListener
+
+ /// <summary>
+ /// Called when the request has been made.
+ /// </summary>
+ /// <param name="module">The module instance.</param>
+ /// <param name="args">The arguments.</param>
+ public void OnRequestModule(IStudioModule module, object args)
+ {
+ if (module is MachineDesignerModule)
+ {
+ SelectedMachine = Adapter.Machines.SingleOrDefault(x => x.Guid == (args as Machine).Guid);
+ }
+ }
+
+ #endregion
}
}