using Aitex.Core.RT.Log;
using Aitex.Core.Util;
using Prism.Ioc;
using Prism.Modularity;
using Prism.Services.Dialogs;
using Prism.Unity;
using System;
using System.Threading;
using System.Windows;
using Venus_MainPages.Roles;
using Venus_MainPages.Views;
using Venus_UI.Views;
using WPF.Themes.UserControls;
namespace Venus_UI
{
///
/// App.xaml 的交互逻辑
///
public partial class App : PrismApplication
{
System.Threading.Mutex mutex;
public static User CurrentUser=new User ("admin","admin",Role.Manager);
protected override void OnStartup(StartupEventArgs e)
{
bool ret;
mutex = new System.Threading.Mutex(true, "Venus_UI", out ret);
if (!ret)
{
WPFMessageBox.ShowError("Only One Venus_UI is allowed");
Environment.Exit(0);
}
FrameworkCompatibilityPreferences.KeepTextBoxDisplaySynchronizedWithTextProperty = false;
DispatcherUnhandledException += App_DispatcherUnhandledException;
Singleton.Instance.Initialize();
//ShellView shellView = new ShellView();
LoginView loginView = new LoginView();
loginView.ShowDialog();
CurrentUser = loginView.CurrentUser;
if (!loginView.IsLoginSuccess)
{
Current.Shutdown();
return;
}
base.OnStartup(e);
}
void App_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
{
//MessageBox.Show("程序异常." + Environment.NewLine + e.Exception.Message);
e.Handled = true;
}
protected override Window CreateShell()
{
return Container.Resolve();
}
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
}
protected override IModuleCatalog CreateModuleCatalog()
{
return new ConfigurationModuleCatalog();
}
}
}