aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/FSE/Tango.FSE.UI/ViewModelLocator.cs
blob: 2683d2299cff0b2eb0e2339e5e3af898c0a0b550 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using Tango.Core.DI;
using Tango.FSE.Common.Authentication;
using Tango.FSE.Common.FSEApplication;
using Tango.FSE.Common.Gateway;
using Tango.FSE.Common.Modules;
using Tango.FSE.Common.Navigation;
using Tango.FSE.Common.Notifications;
using Tango.FSE.Common.Threading;
using Tango.FSE.Common.Web;
using Tango.FSE.UI.Authentication;
using Tango.FSE.UI.FSEApplication;
using Tango.FSE.UI.Gateway;
using Tango.FSE.UI.Modules;
using Tango.FSE.UI.Navigation;
using Tango.FSE.UI.Notifications;
using Tango.FSE.UI.Threading;
using Tango.FSE.UI.ViewModels;

namespace Tango.FSE.UI
{
    public static class ViewModelLocator
    {
        static ViewModelLocator()
        {
            TangoIOC.Default.Unregister<IGatewayService>();
            TangoIOC.Default.Unregister<FSEWebClient>();
            TangoIOC.Default.Unregister<IDispatcherProvider>();
            TangoIOC.Default.Unregister<INotificationProvider>();
            TangoIOC.Default.Unregister<IAuthenticationProvider>();
            TangoIOC.Default.Unregister<IFSEModuleLoader>();
            TangoIOC.Default.Unregister<INavigationManager>();
            //TangoIOC.Default.Unregister<IMachineProvider>();
            TangoIOC.Default.Unregister<IFSEApplicationManager>();
            //TangoIOC.Default.Unregister<ExternalBridgeScanner>();
            //TangoIOC.Default.Unregister<IDiagnosticsFrameProvider>();
            //TangoIOC.Default.Unregister<IEventLogger>();
            //TangoIOC.Default.Unregister<ITeamFoundationServiceClient>();
            //TangoIOC.Default.Unregister<IFSEExternalBridgeService>();
            //TangoIOC.Default.Unregister<IStorageProvider>();

            TangoIOC.Default.Register<IGatewayService, DefaultGatewayService>();
            TangoIOC.Default.Register<FSEWebClient, FSEWebClient>(new FSEWebClient());
            TangoIOC.Default.Register<IDispatcherProvider, DefaultDispatcherProvider>(new DefaultDispatcherProvider(Application.Current.Dispatcher));
            TangoIOC.Default.Register<INotificationProvider, DefaultNotificationProvider>();
            TangoIOC.Default.Register<IAuthenticationProvider, DefaultAuthenticationProvider>();
            TangoIOC.Default.Register<IFSEModuleLoader, DefaultFSEModuleLoader>();
            TangoIOC.Default.Register<INavigationManager, DefaultNavigationManager>();
            //TangoIOC.Default.Register<IMachineProvider, DefaultMachineProvider>();
            TangoIOC.Default.Register<IFSEApplicationManager, DefaultFSEApplicationManager>();

            TangoIOC.Default.Register<MainViewVM>();
            TangoIOC.Default.Register<LoadingViewVM>();
            TangoIOC.Default.Register<LayoutViewVM>();
            TangoIOC.Default.Register<LoginViewVM>();
            TangoIOC.Default.Register<InternalModuleViewVM>();
            TangoIOC.Default.Register<DashboardViewVM>();
        }

        public static MainViewVM MainViewVM
        {
            get
            {
                return TangoIOC.Default.GetInstance<MainViewVM>();
            }
        }

        public static LoadingViewVM LoadingViewVM
        {
            get
            {
                return TangoIOC.Default.GetInstance<LoadingViewVM>();
            }
        }

        public static LayoutViewVM LayoutViewVM
        {
            get
            {
                return TangoIOC.Default.GetInstance<LayoutViewVM>();
            }
        }

        public static LoginViewVM LoginViewVM
        {
            get
            {
                return TangoIOC.Default.GetInstance<LoginViewVM>();
            }
        }

        public static InternalModuleViewVM InternalModuleViewVM
        {
            get
            {
                return TangoIOC.Default.GetInstance<InternalModuleViewVM>();
            }
        }

        public static DashboardViewVM DashboardViewVM
        {
            get
            {
                return TangoIOC.Default.GetInstance<DashboardViewVM>();
            }
        }
    }
}