| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 | using System;using System.Collections.Generic;using System.Collections.ObjectModel;using System.ComponentModel;using System.Linq;using System.Text;using System.Threading.Tasks;using Venus_Core;namespace Venus_MainPages.Roles{    public class Menu : INotifyPropertyChanged    {        public Menu(string firstmenu, string secondmenu)        {            FirstMenu = firstmenu;            SecondMenu = secondmenu;        }        private string m_firstMenu;        public string FirstMenu        {            get { return m_firstMenu; }            set            {                m_firstMenu = value;                OnPropertyChanged("FirstMenu");            }        }        private string m_SecondMenu;        public string SecondMenu        {            get { return m_SecondMenu; }            set            {                m_SecondMenu = value;                OnPropertyChanged("SecondMenu");            }        }        private MenuPermission m_Permission;        public MenuPermission Permission        {            get { return m_Permission; }            set            {                m_Permission = value;                OnPropertyChanged("Permission");            }        }        #region INotifyPropertyChanged        public event PropertyChangedEventHandler PropertyChanged;        private void OnPropertyChanged(string propertyName)        {            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));        }        #endregion INotifyPropertyChanged    }    public enum MenuPermission    {        None,        ReadOnly,        ReadWrite    }    public enum Role    {        Manager,        Engineer,        Technician,        Operator    }    public class RoleDefine    {        public string RoleName { get; set; }        public bool IsLocked { get; set; }        public int LockTime { get; set; }        public ObservableCollection<Menu> Menus { get; set; }        public RoleDefine(string roleName, ObservableCollection<Menu> menus)        {            RoleName = roleName;            Menus = menus;        }    }    public class User : INotifyPropertyChanged    {        public User(string name, string password, Role role)        {            Name = name;            Password = password;            Role = role;        }        private string m_Name;        public string Name        {            get { return m_Name; }            set            {                m_Name = value;                OnPropertyChanged("Name");            }        }        public string m_Password;        public string Password        {            get { return m_Password; }            set            {                m_Password = value;                OnPropertyChanged("Password");            }        }        public Role m_Role;        public Role Role        {            get { return m_Role; }            set            {                m_Role = value;                OnPropertyChanged("Role");            }        }        #region INotifyPropertyChanged        public event PropertyChangedEventHandler PropertyChanged;        private void OnPropertyChanged(string propertyName)        {            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));        }        #endregion INotifyPropertyChanged    }}
 |