using System; using System.Linq; using System.Windows; using Tango.Core.DI; using Tango.Integration.ExternalBridge; using Tango.Logging; using Tango.PPC.Common.Application; using Tango.PPC.Common.Authentication; using Tango.PPC.Common.BackupRestore; using Tango.PPC.Common.Bit; using Tango.PPC.Common.Build; using Tango.PPC.Common.Connection; using Tango.PPC.Common.Connectivity; using Tango.PPC.Common.Console; using Tango.PPC.Common.DataStore; using Tango.PPC.Common.Diagnostics; using Tango.PPC.Common.EventLogging; using Tango.PPC.Common.ExternalBridge; using Tango.PPC.Common.FileSystem; using Tango.PPC.Common.HotSpot; using Tango.PPC.Common.Insights; using Tango.PPC.Common.MachineSetup; using Tango.PPC.Common.MachineUpdate; using Tango.PPC.Common.Modules; using Tango.PPC.Common.Navigation; using Tango.PPC.Common.Notifications; using Tango.PPC.Common.OS; using Tango.PPC.Common.Performance; using Tango.PPC.Common.Printing; using Tango.PPC.Common.RemoteActions; using Tango.PPC.Common.RemoteAssistance; using Tango.PPC.Common.RemoteDesktop; using Tango.PPC.Common.RemoteJob; using Tango.PPC.Common.RemoteJobUpload; using Tango.PPC.Common.RemoteNotifications; using Tango.PPC.Common.Resume; using Tango.PPC.Common.SMS; using Tango.PPC.Common.SQL; using Tango.PPC.Common.Statistics; using Tango.PPC.Common.Storage; using Tango.PPC.Common.Synchronization; using Tango.PPC.Common.SystemInfo; using Tango.PPC.Common.Telemetry; using Tango.PPC.Common.Threading; using Tango.PPC.Common.ThreadLoading; using Tango.PPC.Common.UpdatePackages; using Tango.PPC.Common.UWF; using Tango.PPC.Common.Web; using Tango.PPC.UI.Authentication; using Tango.PPC.UI.Bit; using Tango.PPC.UI.Connectivity; using Tango.PPC.UI.Modules; using Tango.PPC.UI.Navigation; using Tango.PPC.UI.Notifications; using Tango.PPC.UI.PPCApplication; using Tango.PPC.UI.Printing; using Tango.PPC.UI.RemoteActions; using Tango.PPC.UI.Telemetry; using Tango.PPC.UI.Threading; using Tango.PPC.UI.ThreadLoading; using Tango.PPC.UI.ViewModels; using Tango.PPC.UI.Views; using Tango.PPC.UI.ViewsContracts; using Tango.TFS; namespace Tango.PPC.UI { /// /// This class contains static references to all the view models in the /// application and provides an entry point for the bindings. /// public static class ViewModelLocator { /// /// Initializes a new instance of the ViewModelLocator class. /// static ViewModelLocator() { var buildProvider = TangoIOC.Default.GetInstance(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); TangoIOC.Default.Unregister(); if (App.StartupArgs != null && App.StartupArgs.Contains("-webDebug")) { TangoIOC.Default.Register(new PPCWebClient("http://localhost:1111", null)); } else { TangoIOC.Default.Register(new PPCWebClient()); } TangoIOC.Default.Register(new DefaultDispatcherProvider(Application.Current.Dispatcher)); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); if (buildProvider.IsEureka) { TangoIOC.Default.Register(); } else { TangoIOC.Default.Register(); } TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); TangoIOC.Default.Register(); if (buildProvider.IsEureka) { TangoIOC.Default.Register(); } TangoIOC.Default.GetInstance().ContentRendered += (_, __) => { if (buildProvider.IsEureka) { TangoIOC.Default.Register(MainEurekaView.Instance); TangoIOC.Default.Register(LayoutEurekaView.Instance); } else { TangoIOC.Default.Register(MainView.Instance); TangoIOC.Default.Register(LayoutView.Instance); } TangoIOC.Default.Register(MachineSetupView.Instance); TangoIOC.Default.Register(MachineUpdateView.Instance); }; //TangoIOC.Default.Register(); //TangoIOC.Default.Register(); //TangoIOC.Default.Register(); //TangoIOC.Default.Register(); //TangoIOC.Default.Register(); //TangoIOC.Default.Register(); //TangoIOC.Default.Register(); } public static LoadingViewVM LoadingView { get { return TangoIOC.Default.GetInstance(); } } public static MainViewVM MainViewVM { get { return TangoIOC.Default.GetInstance(); } } public static LoginViewVM LoginViewVM { get { return TangoIOC.Default.GetInstance(); } } public static LayoutViewVM LayoutViewVM { get { return TangoIOC.Default.GetInstance(); } } public static ExternalBridgeViewVM ExternalBridgeViewVM { get { return TangoIOC.Default.GetInstance(); } } public static MachineSetupViewVM MachineSetupViewVM { get { return TangoIOC.Default.GetInstance(); } } public static MachineUpdateViewVM MachineUpdateViewVM { get { return TangoIOC.Default.GetInstance(); } } public static LoadingErrorViewVM LoadingErrorViewVM { get { return TangoIOC.Default.GetInstance(); } } public static NoPermissionsViewVM NoPermissionsViewVM { get { return TangoIOC.Default.GetInstance(); } } public static RestartingSystemViewVM RestartingSystemViewVM { get { return TangoIOC.Default.GetInstance(); } } public static EmergencyViewVM EmergencyViewVM { get { return TangoIOC.Default.GetInstance(); } } public static RestartingViewVM RestartingViewVM { get { return TangoIOC.Default.GetInstance(); } } public static InternalModuleViewVM InternalModuleViewVM { get { return TangoIOC.Default.GetInstance(); } } public static PowerOffViewVM PowerOffViewVM { get { return TangoIOC.Default.GetInstance(); } } public static MachineStatusViewVM MachineStatusViewVM { get { return TangoIOC.Default.GetInstance(); } } } }