| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 | 
							- using System.IO;
 
- using System.Linq;
 
- using Aitex.Common.Util;
 
- using OpenSEMI.ClientBase.UI;
 
- using OpenSEMI.ClientBase.Handlers;
 
- using log4net;
 
- using MECF.Framework.Common.Account.Extends;
 
- namespace OpenSEMI.ClientBase
 
- {
 
-     public class BaseApp
 
-     {
 
-         public BaseApp()
 
-         {
 
-             this.UserMode = UserMode.None;
 
-             this.Initialized = false;
 
-             //load configuration files...
 
-             this.Configure();
 
-         }
 
-         public void Initialize(bool force = false)
 
-         {
 
-             if (this.Initialized && !force)
 
-                 return;
 
-             this.MenuLoader = new MenuLoader(Path.Combine(PathManager.GetCfgDir(), "Menu.xml"));
 
-              
 
-             this.MenuLoader.Load();
 
-             this.MenuManager = new MenuManager();
 
-             this.UserContext = new UserContext();
 
-  
 
-             this.UIHandler = new ClientBase.UI.UIHandler();
 
-             this.UIHandler.Looper.Run();
 
-             this.OnInitialize();
 
-             this.Initialized = true;
 
-         }
 
-         public virtual void Dispose()
 
-         {
 
-             this.UIHandler.Looper.Terminate();
 
-         }
 
-         protected void Configure()
 
-         {
 
-             //config skin/language...
 
-             this.OnConfiguration();
 
-             //config log4net
 
-             log4net.Config.XmlConfigurator.Configure();
 
-             this.Log = log4net.LogManager.GetLogger("loginfo");
 
-             this.SysEvent = log4net.LogManager.GetLogger("sysEvent");
 
-         }
 
-         protected virtual void OnInitialize() { }
 
-         protected virtual void OnConfiguration() { }
 
-         public void SetCurrentPage(PageID page)
 
-         {
 
-             //set page to get real data every 500 ms ...    
 
-         }
 
-         public int GetPermission(string menuid)
 
-         {
 
-             int per = 1;
 
-             if (this.UserContext != null)
 
-             {
 
-                 string[] list = this.UserContext.Role.MenuPermission.Split(';');
 
-                 var result = from r in list
 
-                              where r.Split(',')[0] == menuid
 
-                              select r;
 
-                 if (result.Count() > 0)
 
-                     per = int.Parse(result.ToArray()[0].Split(',')[1]);
 
-             }
 
-             return per;
 
-         }
 
-         public static BaseApp Instance
 
-         {
 
-             get
 
-             {
 
-                 return _instance;
 
-             }
 
-             set
 
-             {
 
-                 _instance = value;
 
-             }
 
-         }
 
-         public UserContext UserContext { get; private set; }
 
-         public MenuManager MenuManager { get; private set; }
 
-         public MenuLoader MenuLoader { get; private set; }
 
-         public UserMode UserMode { get; set; }
 
-         public UIHandler UIHandler { get; set; }
 
-         public bool Initialized { get; private set; }
 
-         public ILog Log { get; private set; }
 
-         public ILog SysEvent { get; private set; }
 
-         public StatesHandler StatesManager { get; protected set; }
 
-         public WaferStatusHandler WaferStatusManager { get; protected set; }
 
-         private static BaseApp _instance = null;
 
-         public virtual void SwitchPage(string mainMenu, string subMenu, object parameter) { }
 
-     }
 
- }
 
 
  |