aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-04-22 13:35:22 +0300
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-04-22 13:35:22 +0300
commitde099bd3b50b8ea52b212b8d322626582c2648be (patch)
treeeea98a7f7b073d6cf8ded47bddc3b3f3f5e7c430 /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels
parent8edd1a95962a5c1c2e73d15f209a9fb362ff884a (diff)
downloadTango-de099bd3b50b8ea52b212b8d322626582c2648be.tar.gz
Tango-de099bd3b50b8ea52b212b8d322626582c2648be.zip
Implemented new TangoIOC container & TangoMessenger.
Got rid of MVVMLite libs ! Got rid of IShutdownRequestBlocker, IShutdownListener, IModuleRequestListener. Implemented IStudioViewModel & StudioViewModel.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/DbTableViewModel.cs10
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MainViewVM.cs22
2 files changed, 17 insertions, 15 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/DbTableViewModel.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/DbTableViewModel.cs
index de6772bf8..f4a0c6b0b 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/DbTableViewModel.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/DbTableViewModel.cs
@@ -9,7 +9,6 @@ using Tango.MachineStudio.Common.Notifications;
using Tango.MachineStudio.DB.Managers;
using Tango.SharedUI;
using System.Data.Entity.Infrastructure;
-using GalaSoft.MvvmLight.Messaging;
using Tango.MachineStudio.DB.Messages;
using System.Collections.ObjectModel;
using System.Reflection;
@@ -17,6 +16,7 @@ using Tango.MachineStudio.Common.StudioApplication;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations.Schema;
using Tango.BL;
+using Tango.Core.DI;
namespace Tango.MachineStudio.DB.ViewModels
{
@@ -180,7 +180,7 @@ namespace Tango.MachineStudio.DB.ViewModels
ValidationErrors.Clear();
DialogOpenMode = DialogOpenMode.Editing;
EditEntity = GetEditableEntity(DialogOpenMode);
- Messenger.Default.Send(new OpenEntityEditViewMessage(DialogOpenMode, this, typeof(T)));
+ TangoMessenger.Default.Send(new OpenEntityEditViewMessage(DialogOpenMode, this, typeof(T)));
IsDialogOpen = true;
}
@@ -204,7 +204,7 @@ namespace Tango.MachineStudio.DB.ViewModels
}
}
- Messenger.Default.Send(new OpenEntityEditViewMessage(DialogOpenMode, this, typeof(T)));
+ TangoMessenger.Default.Send(new OpenEntityEditViewMessage(DialogOpenMode, this, typeof(T)));
IsDialogOpen = true;
}
@@ -231,7 +231,7 @@ namespace Tango.MachineStudio.DB.ViewModels
}
}
- Messenger.Default.Send(new CloseEntityEditViewMessage());
+ TangoMessenger.Default.Send(new CloseEntityEditViewMessage());
if (mode == DialogOpenMode.Editing)
{
@@ -288,7 +288,7 @@ namespace Tango.MachineStudio.DB.ViewModels
/// <param name="mode">The mode.</param>
protected virtual void OnDialogCancelPressed(DialogOpenMode mode, T entity)
{
- Messenger.Default.Send(new CloseEntityEditViewMessage());
+ TangoMessenger.Default.Send(new CloseEntityEditViewMessage());
IsDialogOpen = false;
}
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[] { });
}
}