| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 | using Caliburn.Micro.Core;using System.Collections.Generic;namespace OpenSEMI.ClientBase{	public class BaseModel : Screen	{		private int permission = 0;		private int token = 0;		public PageID Page		{			get;			set;		}		public List<string> PageStateList		{			get;			set;		}		public int Permission		{			get			{				return permission;			}			set			{				if (permission != value)				{					permission = value;					NotifyOfPropertyChange("Permission");				}			}		}		public bool HasToken => token > 0 && true;		public int Token		{			get			{				return token;			}			set			{				if (token != value)				{					token = value;					OnTokenChanged(token);					NotifyOfPropertyChange("Token");				}			}		}		public BaseModel()		{			PageStateList = new List<string>();		}		protected virtual void OnTokenChanged(int nNewToken)		{		}		protected override void OnActivate()		{			base.OnActivate();			BaseApp.Instance.StatesManager.Register(PageStateList, false);		}		protected override void OnDeactivate(bool close)		{			base.OnDeactivate(close);			BaseApp.Instance.StatesManager.UnRegister(PageStateList);		}	}}
 |