| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 | 
							- using Caliburn.Micro;
 
- using Caliburn.Micro.Core;
 
- using System;
 
- using System.Collections.Generic;
 
- using System.Diagnostics;
 
- using System.Linq;
 
- using System.Text;
 
- using System.Threading;
 
- using System.Threading.Tasks;
 
- using System.Windows;
 
- using Aitex.Core.RT.Event;
 
- using Aitex.Core.RT.Log;
 
- using Aitex.Core.Util;
 
- using Aitex.Core.WCF;
 
- using MECF.Framework.UI.Client.ClientBase;
 
- using SciChart.Charting.Visuals;
 
- using FurnaceGasPanelUI.Config;
 
- namespace FurnaceGasPanelUI.Client
 
- {
 
-     public class Bootstrapper : BootstrapperBase
 
-     {
 
-         //static Mutex mutex;
 
-         //bool isNewMutex;
 
-         protected override void OnStartup(object sender, StartupEventArgs e)
 
-         {
 
-             try
 
-             {
 
-                 System.Collections.ArrayList procList = new System.Collections.ArrayList();
 
-                 bool.TryParse(AppSettingsHelper.GetConfigValue("IsSlave"), out bool isSlave);
 
-                 if (!isSlave)
 
-                 {
 
-                     foreach (System.Diagnostics.Process thisProc in System.Diagnostics.Process.GetProcesses())
 
-                     {
 
-                         procList.Add(thisProc.ProcessName);
 
-                     }
 
-                     //if (!procList.Contains("ThermalRT"))
 
-                     //{
 
-                     //    var exeFilePath = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
 
-                     //    if (!Debugger.IsAttached)
 
-                     //    {
 
-                     //        exeFilePath = exeFilePath.Replace("FurnaceGasPanelUI", "ThermalRT");
 
-                     //        System.Diagnostics.Process.Start(exeFilePath);
 
-                     //        Thread.Sleep(50);
 
-                     //    }
 
-                     //}
 
-                     if (!EventClient.Instance.ConnectRT())
 
-                     {
 
-                         MessageBox.Show("Can not connect with RT, launch RT first", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
 
-                         Environment.Exit(0);
 
-                         return;
 
-                     }
 
-                 }
 
-             }
 
-             catch (Exception)
 
-             {
 
-                 MessageBox.Show("Can not connect with RT, launch RT first", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
 
-                 Environment.Exit(0);
 
-                 return;
 
-             }
 
-  
 
-             Singleton<Aitex.Core.RT.Log.LogManager>.Instance.Initialize();
 
-             BaseApp.Instance = new FurnaceGasPanelUI.Client.ClientApp();
 
-             DisplayRootViewFor<MainViewModel>();
 
-             base.OnStartup(sender, e);
 
-  
 
-         }
 
-      
 
-         protected override void OnExit(object sender, EventArgs e)
 
-         {
 
-             base.OnExit(sender, e);
 
-  
 
-                 Singleton<Aitex.Core.RT.Log.LogManager>.Instance.Terminate();
 
-  
 
-                 Application.Current.Shutdown();
 
-  
 
-         }
 
-         protected override void OnUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
 
-         {
 
-             if (e.Exception != null)
 
-             {
 
-                 LOG.Write(e.Exception);
 
-                 if (e.Exception.InnerException != null)
 
-                     LOG.Write(e.Exception.InnerException);
 
-             }
 
-             e.Handled = true;
 
-         }
 
-         private SimpleContainer container;
 
-         public Bootstrapper()
 
-         {
 
-             SciChartSurface.SetRuntimeLicenseKey("vwAIyu6FysOMMV/v7pag3WEENpK0hDMQx5zbMKYtlb3PMTsV9R+v2toHl/Z2YJ7t/MDVkKCBsZjBxOUs1djpkyLqgCFMlX5DMrKFdP82QRqZRCOht0hQjW5Omy5z9ZRbalxSx4mlgnL/YXWr2JQrD1dWoTeoDP7xm8JB3+KZ4M5pqxeUCib6VvRpfq3O7HVIyFfcDk0JVByjV+vtgGpOo5RP630lKr9VLS3CPk1aUeul4XQAnJX+IafLnsgSKiDWlZMYU9qJehqA1EdwOnEvvOwhcwckJ5/BoeQ0qDvDaYZ1Jfzkcv5sqOYKd749TJ8wsoTDubT/bLv+BwBiXura1mBZlOIE9zB5XwJVedWWzi6dGDG8LRRKh1XjuyD6V92G596xYsb5b8EJJ8AkgsC/R+fLeN/FIZBlq/Vepg+1dwkLlCCtp8nZWBjsRDQWNrG6Vyk5TF2RzI62WrwKfWfNWXtC5wjkJE5IJzUFlj/B/UhCzB8=");
 
-             Initialize();
 
-         }
 
-         protected override void Configure()
 
-         {
 
-             container = new SimpleContainer();
 
-             container.Singleton<IEventAggregator, EventAggregator>();
 
-             container.Singleton<IWindowManager, WindowManager>();
 
-             //container.Singleton<IPublisher, Publisher>();
 
-             container.PerRequest<MainViewModel>();
 
-         }
 
-         protected override object GetInstance(Type service, string key)
 
-         {
 
-             return container.GetInstance(service, key);
 
-         }
 
-         protected override IEnumerable<object> GetAllInstances(Type service)
 
-         {
 
-             return container.GetAllInstances(service);
 
-         }
 
-         protected override void BuildUp(object instance)
 
-         {
 
-             container.BuildUp(instance);
 
-         }
 
-     }
 
- }
 
 
  |