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();
}
}
}
}