aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2017-12-14 19:48:41 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2017-12-14 19:48:41 +0200
commitad35c9c2df0001157ea13312382f3cdfdad67f06 (patch)
tree78c4708893f6207ff692f729ac43408823f963e1 /Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
parent7887ca0ad2433c4adbb65d96bf926561405ab290 (diff)
downloadTango-ad35c9c2df0001157ea13312382f3cdfdad67f06.tar.gz
Tango-ad35c9c2df0001157ea13312382f3cdfdad67f06.zip
Implemented IAuthenticationProvider, INavigationProvider, IModuleLoader.
LoadingView, LoginView,
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs')
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs48
1 files changed, 17 insertions, 31 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
index e0aff5be3..213d1a83d 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
@@ -8,6 +8,8 @@ using System.Text;
using System.Threading.Tasks;
using Tango.Core.Commands;
using Tango.MachineStudio.Common;
+using Tango.MachineStudio.Common.Authentication;
+using Tango.MachineStudio.Common.Modules;
using Tango.MachineStudio.UI.SupervisingController;
using Tango.SharedUI;
@@ -15,8 +17,6 @@ namespace Tango.MachineStudio.UI.ViewModels
{
public class MainViewVM : ViewModel<IMainView>
{
- public ObservableCollection<IStudioModule> Modules { get; set; }
-
private IStudioModule _currentModule;
public IStudioModule CurrentModule
@@ -37,43 +37,29 @@ namespace Tango.MachineStudio.UI.ViewModels
public RelayCommand HomeCommand { get; set; }
- public String Text { get; set; }
-
- public MainViewVM(IMainView view) : base(view)
+ private IAuthenticationProvider _authenticationProvider;
+ public IAuthenticationProvider AuthenticationProvider
{
- Modules = new ObservableCollection<IStudioModule>();
-
- LoadModules();
-
- Text = "Hi ROy";
+ get { return _authenticationProvider; }
+ set { _authenticationProvider = value; RaisePropertyChangedAuto(); }
+ }
- StartModuleCommand = new RelayCommand<IStudioModule>(StartModule);
+ private IStudioModuleLoader _studioModuleLoader;
- HomeCommand = new RelayCommand(Home);
+ public IStudioModuleLoader StudioModuleLoader
+ {
+ get { return _studioModuleLoader; }
+ set { _studioModuleLoader = value; RaisePropertyChangedAuto(); }
}
- private void LoadModules()
+ public MainViewVM(IMainView view, IAuthenticationProvider authenticationProvider, IStudioModuleLoader studioModuleLoader) : base(view)
{
- string assemblyFolder = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
+ AuthenticationProvider = authenticationProvider;
+ StudioModuleLoader = studioModuleLoader;
- foreach (var file in Directory.GetFiles(assemblyFolder, "*.dll").Where(x => x.Contains("MachineStudio")))
- {
- try
- {
- Assembly moduleAssembly = null;
- moduleAssembly = Assembly.LoadFrom(file);
+ StartModuleCommand = new RelayCommand<IStudioModule>(StartModule);
- if (moduleAssembly != null)
- {
- foreach (var moduleType in moduleAssembly.GetTypes().Where(x => !x.IsInterface && typeof(IStudioModule).IsAssignableFrom(x)))
- {
- var module = Activator.CreateInstance(moduleType) as IStudioModule;
- Modules.Add(module);
- }
- }
- }
- catch { }
- }
+ HomeCommand = new RelayCommand(Home);
}
private void Home()