| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 | using Newtonsoft.Json.Converters;using Newtonsoft.Json;using System.Collections.ObjectModel;using System.ComponentModel;using System.Runtime.Serialization;namespace Venus_MainPages.Roles{    [DataContract]    public class Menu : INotifyPropertyChanged    {        public Menu(string firstmenu, string secondmenu)        {            FirstMenu = firstmenu;            SecondMenu = secondmenu;        }        private string m_firstMenu;        [DataMember]        public string FirstMenu        {            get { return m_firstMenu; }            set            {                m_firstMenu = value;                OnPropertyChanged("FirstMenu");            }        }        private string m_SecondMenu;        [DataMember]        public string SecondMenu        {            get { return m_SecondMenu; }            set            {                m_SecondMenu = value;                OnPropertyChanged("SecondMenu");            }        }        private MenuPermission m_Permission;        [DataMember]        [JsonConverter(typeof(StringEnumConverter))]        public MenuPermission Permission        {            get { return m_Permission; }            set            {                m_Permission = value;                OnPropertyChanged("Permission");            }        }        private string m_View;        [DataMember]        public string View        {            get { return m_View; }            set            {                m_View = value;                OnPropertyChanged("View");            }        }        #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    }    [DataContract]    public class RoleDefine : INotifyPropertyChanged    {        private string m_RoleName;        [DataMember]        public string RoleName        {            get { return m_RoleName; }            set            {                m_RoleName = value;                OnPropertyChanged("RoleName");            }        }        [DataMember]        private bool m_IsLocked;        public bool IsLocked        {            get { return m_IsLocked; }            set            {                m_IsLocked = value;                OnPropertyChanged("IsLocked");            }        }        [DataMember]        private int m_LockTime;        public int LockTime        {            get { return m_LockTime; }            set            {                m_LockTime = value;                OnPropertyChanged("LockTime");            }        }        [DataMember]        public ObservableCollection<Menu> Menus { get; set; }        public RoleDefine(string roleName, ObservableCollection<Menu> menus)        {            RoleName = roleName;            Menus = menus;        }        #region INotifyPropertyChanged        public event PropertyChangedEventHandler PropertyChanged;        private void OnPropertyChanged(string propertyName)        {            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));        }        #endregion INotifyPropertyChanged    }    [DataContract]    public class User : INotifyPropertyChanged    {        public User(string name, string password, Role role)        {            Name = name;            Password = password;            Role = role;        }        private string m_Name;        [DataMember]        public string Name        {            get { return m_Name; }            set            {                m_Name = value;                OnPropertyChanged("Name");            }        }        public string m_Password;        [DataMember]        public string Password        {            get { return m_Password; }            set            {                m_Password = value;                OnPropertyChanged("Password");            }        }        public Role m_Role;        [DataMember]        [JsonConverter(typeof(StringEnumConverter))]        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    }}
 |