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) { }
- }
- }
|