aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-12-31 15:59:02 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-12-31 15:59:02 +0200
commite86fb1e3f847ee5646fe40b52bcf478bc9ce4b64 (patch)
tree8faab087dbc6e13d5c83960ff344a77825dc21b7 /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels
parent650af0554b902837f8e146d690aca24e4f60ec29 (diff)
downloadTango-e86fb1e3f847ee5646fe40b52bcf478bc9ce4b64.tar.gz
Tango-e86fb1e3f847ee5646fe40b52bcf478bc9ce4b64.zip
Added Trigger for machine delete to erase configuration & IDS Packs also!
Implemented Machine creation dialog in machine designer.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineCreationDialogVM.cs17
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs35
2 files changed, 44 insertions, 8 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineCreationDialogVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineCreationDialogVM.cs
new file mode 100644
index 000000000..0f6ab3314
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineCreationDialogVM.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.BL.Entities;
+using Tango.SharedUI;
+
+namespace Tango.MachineStudio.MachineDesigner.ViewModels
+{
+ public class MachineCreationDialogVM : DialogViewVM
+ {
+ public List<MachineVersion> MachineVersions { get; set; }
+
+ public MachineVersion SelectedMachineVersion { get; set; }
+ }
+}
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<MachineCreationDialogVM, Views.MachineCreationDialog>(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()