Files
BeWoPlaner/BeWo/MainWindow.xaml.cs
rene 4fbfdbaf2c Unit Tests erstellt
Informationen ausgelagert
Kleines Spy/Test Programm erstellt
Mehr Exceptions/InvalidUpdateFileRequestException.cs
Launcher Host in Download Server geändert
Download Server macht zusätzlich Abfrage an den Hauptserver
Download geht jetzt stückweise von statten
2022-12-28 16:36:59 +01:00

180 lines
5.5 KiB
C#

using System;
using System.ComponentModel;
using System.Threading;
using System.Windows;
using System.Windows.Threading;
using BeWo.Core.Config;
using BeWo.MultiLanguage;
using BS.Shared.Translation;
using BS.SharedLauncher.Information;
using DevExpress.Xpf.Core;
namespace BeWo
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
ApplicationThemeHelper.ApplicationThemeName = "Office2010Black";
if (Loader.Loaded)
ShowNewWay();
else
// ShowOldWay(false);
throw new Exception("Loader failed");
}
private void ShowNewWay()
{
Translator t = new Translator(new ServiceTranslator());
//WebRequest.DefaultWebProxy
//System.Net.WebRequest.GetSystemWebProxy()
rootGrid.Children.Clear();
MainControl mc = new MainControl();
mc.IsMaximized = BeWoApp.AppSettings.WindowState == AppSettings.WindowStateType.Maximised;
mc.LogoutClicked += new EventHandler(mc_LogoutClicked);
rootGrid.Children.Add(mc);
}
private void ShowOldWay(bool skiplogin)
{
if (skiplogin)
{
throw new NotImplementedException("47845978233134");
// Muss hier ggf string anpassen
//Loader.Load("tedemo?undemo?pwdemo?ip?sn1?cs?vr1.0.4.1");
//ShowNewWay();
}
else
{
//WebRequest.DefaultWebProxy
//System.Net.WebRequest.GetSystemWebProxy()
var lc = new LoginControl();
rootGrid.Children.Add(lc);
lc.LoginSuccessful += lc_LoginSuccessful;
}
}
void lc_LoginSuccessful(object sender, EventArgs e)
{
Translator t = new Translator(new ServiceTranslator());
#if DEBUG
//if (BeWoApp.Tenant == "demo")
//{
// var dlg = new ConfirmDemoDialog();
// dlg.ShowDialog();
//}
#else
if (BeWoApp.Tenant == "demo")
{
var dlg = new ConfirmDemoDialog();
dlg.ShowDialog();
}
#endif
rootGrid.Children.Clear();
MainControl mc = new MainControl();
mc.IsMaximized = BeWoApp.AppSettings.WindowState == AppSettings.WindowStateType.Maximised;
mc.LogoutClicked += new EventHandler(mc_LogoutClicked);
rootGrid.Children.Add(mc);
}
void mc_LogoutClicked(object sender, EventArgs e)
{
rootGrid.Children.Clear();
BeWoApp.MainControl = null;
//ShowLoginControl();
Application.Current.Shutdown(100);
}
private void MainWindow_OnClosing(object sender, CancelEventArgs e)
{
if (BeWoApp.MainControl != null)
{
//BeWoApp.SaveAppSettings();
if (!BeWoApp.MainControl.DoSaveCheck())
{
e.Cancel = true;
return;
}
}
if (BeWoApp.MainControl != null && BeWoApp.MainControl.HomeView.ServiceChatView != null)
{
if (BeWoApp.MainControl.HomeView.ServiceChatView.ChatMainControl != null &&
BeWoApp.MainControl.HomeView.ServiceChatView.ChatMainControl.GlobalListeningThreadtimer != null)
{
BeWoApp.MainControl.HomeView.ServiceChatView.ChatMainControl.GlobalListeningThreadtimer.Stop();
BeWoApp.MainControl.HomeView.ServiceChatView.ChatMainControl.GlobalListeningThreadtimer = null;
//BeWoApp.MainControl.HomeView.ServiceChatView.ChatMainControl.disableKontaktNachrichtenThread = true;
}
if (BeWoApp.MainControl.HomeView.ServiceChatView.ServiceChat.EmojiView != null)
{
BeWoApp.MainControl.HomeView.ServiceChatView.ServiceChat.EmojiView.Close();
BeWoApp.MainControl.HomeView.ServiceChatView.ServiceChat.EmojiView = null;
}
BeWoApp.MainControl.HomeView.ServiceChatView.Close();
BeWoApp.MainControl.HomeView.ServiceChatView = null;
}
BeWoApp.CurrentBeWo.DocumentWatcher.LoescheTempDateien();
Application.Current.Shutdown();
}
private void Window_Closed(object sender, EventArgs e)
{
// Environment.ExitCode = 10;
}
bool _shown;
protected override void OnContentRendered(EventArgs e)
{
base.OnContentRendered(e);
if (_shown)
return;
_shown = true;
Dispatcher.BeginInvoke(new Action(() => Activate()), DispatcherPriority.ContextIdle, null);
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
}
private void Window_Activated(object sender, EventArgs e)
{
}
private void Window_SourceInitialized(object sender, EventArgs e)
{
Console.WriteLine("GUI geladen");
Thread.Sleep(500);
}
}
}