From e86fb1e3f847ee5646fe40b52bcf478bc9ce4b64 Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Mon, 31 Dec 2018 15:59:02 +0200 Subject: Added Trigger for machine delete to erase configuration & IDS Packs also! Implemented Machine creation dialog in machine designer. --- .../ViewModels/MainViewVM.cs | 35 +++++++++++++++++----- 1 file changed, 27 insertions(+), 8 deletions(-) (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs') 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 2f77b0d14..33e5b4ad7 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 @@ -192,9 +192,9 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels #region Application Ready - public override void OnApplicationReady() + public override async void OnApplicationReady() { - + MachinesAdapter.MachineVersions = (await MachinesAdapter.Context.MachineVersions.ToListAsync()).ToObservableCollection(); } #endregion @@ -349,7 +349,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels InvalidateRelayCommands(); } - private async void LoadSelectedMachine(bool newMachine = false, bool clone = false) + private async void LoadSelectedMachine(bool newMachine = false, bool clone = false, MachineVersion selectedVersion = null) { using (_notification.PushTaskItem("Loading machine details...")) { @@ -389,16 +389,24 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels if (clone) { ActiveMachine = ActiveMachine.Clone(); - ActiveMachine.Name = "Untitled"; + ActiveMachine.Name = ""; ActiveMachine.SerialNumber = ""; ActiveMachineAdapter.Context.Machines.Add(ActiveMachine); } } else { - ActiveMachine = new Machine(); - ActiveMachine.Configuration = new Configuration(); - ActiveMachineAdapter.Context.Machines.Add(ActiveMachine); + if (selectedVersion == null) + { + ActiveMachine = new Machine(); + ActiveMachine.Configuration = new Configuration(); + ActiveMachineAdapter.Context.Machines.Add(ActiveMachine); + } + else + { + ActiveMachine = selectedVersion.CreatePrototypeMachine(ActiveMachineAdapter.Context); + ActiveMachineAdapter.Context.Machines.Add(ActiveMachine); + } } View.NavigateTo(MachineDesignerNavigationView.MachineDetailsView); @@ -563,7 +571,18 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels private void AddNewMachine() { - LoadSelectedMachine(true); + MachineCreationDialogVM vm = new MachineCreationDialogVM(); + vm.MachineVersions = MachinesAdapter.MachineVersions.ToList(); + _notification.ShowModalDialog(vm, (x) => + { + if (String.IsNullOrWhiteSpace(vm.SelectedMachineVersion.PrototypeMachineData)) + { + _notification.ShowError("The selected version does not contain any prototype machine data."); + return; + } + + LoadSelectedMachine(true, false, vm.SelectedMachineVersion); + }, () => { }); } private async void RemoveSelectedMachine() -- cgit v1.3.1