aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MainViewVM.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MainViewVM.cs')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MainViewVM.cs22
1 files changed, 12 insertions, 10 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MainViewVM.cs
index abda33804..727436306 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MainViewVM.cs
@@ -1,5 +1,4 @@
-using Microsoft.Practices.ServiceLocation;
-using System;
+using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
@@ -8,37 +7,40 @@ using System.Threading.Tasks;
using System.Windows;
using Tango.BL;
using Tango.BL.Entities;
+using Tango.Core.DI;
using Tango.MachineStudio.Common;
using Tango.MachineStudio.Common.StudioApplication;
using Tango.SharedUI;
namespace Tango.MachineStudio.DB.ViewModels
{
- public class MainViewVM : ViewModel, IModuleRequestListener
+ public class MainViewVM : StudioViewModel<DBModule>
{
public MainViewVM() : base()
{
}
- public void OnRequestModule(IStudioModule module, object args)
+ public override void OnModuleRequest(params object[] args)
{
- if (module is DBModule && args != null && args is IObservableEntity)
+ if (args != null && args.Length > 0 && args[0] is IObservableEntity)
{
- String vmName = args.GetType().Name + "sViewVM";
-
+ var arg = args[0];
+
+ String vmName = arg.GetType().Name + "sViewVM";
+
Type vmType = Assembly.GetAssembly(typeof(MainViewVM)).GetTypes().SingleOrDefault(x => x.Name == vmName);
if (vmType == null)
{
- vmName = args.GetType().BaseType.Name + "sViewVM";
+ vmName = arg.GetType().BaseType.Name + "sViewVM";
vmType = Assembly.GetAssembly(typeof(MainViewVM)).GetTypes().SingleOrDefault(x => x.Name == vmName);
}
if (vmType != null)
{
- var vm = ServiceLocator.Current.GetInstance(vmType);
- vmType.GetProperty("SelectedEntity").SetValue(vm, args);
+ var vm = TangoIOC.Default.GetInstance(vmType);
+ vmType.GetProperty("SelectedEntity").SetValue(vm, arg);
vmType.GetMethod("OnEdit", BindingFlags.Instance | BindingFlags.NonPublic).Invoke(vm, new object[] { });
}
}