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