105 lines
2.4 KiB
C#
105 lines
2.4 KiB
C#
|
using System;
|
||
|
using Caliburn.Micro.Core;
|
||
|
|
||
|
namespace MECF.Framework.UI.Client.CenterViews.Configs.Roles;
|
||
|
|
||
|
public sealed class PermissionControlItem : PropertyChangedBase, ICloneable
|
||
|
{
|
||
|
#region Variables
|
||
|
|
||
|
private string _permissionId;
|
||
|
private string _name;
|
||
|
private string _description;
|
||
|
private PermissionType _myPermission;
|
||
|
private PermissionType _previousPermission;
|
||
|
private bool _comboBoxSaved;
|
||
|
|
||
|
#endregion
|
||
|
|
||
|
#region Construcors
|
||
|
|
||
|
public PermissionControlItem(string name, PermissionType permission, string id = "", string description = "")
|
||
|
{
|
||
|
_permissionId = id;
|
||
|
_name = name;
|
||
|
_description = description;
|
||
|
_myPermission = permission;
|
||
|
_previousPermission = permission;
|
||
|
}
|
||
|
|
||
|
#endregion
|
||
|
|
||
|
#region Properties
|
||
|
|
||
|
/// <summary>
|
||
|
/// 返回当前权限是否发生了变化。
|
||
|
/// </summary>
|
||
|
public bool IsChanged => _myPermission != _previousPermission;
|
||
|
|
||
|
public string ID
|
||
|
{
|
||
|
get => _permissionId;
|
||
|
set
|
||
|
{
|
||
|
if (value != _permissionId)
|
||
|
_permissionId = value;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public PermissionType Permission
|
||
|
{
|
||
|
get => _myPermission;
|
||
|
set
|
||
|
{
|
||
|
_myPermission = value;
|
||
|
NotifyOfPropertyChange();
|
||
|
NotifyOfPropertyChange(nameof(IsChanged));
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public bool ComboBoxSaved
|
||
|
{
|
||
|
get => _comboBoxSaved;
|
||
|
set
|
||
|
{
|
||
|
if (_comboBoxSaved != value)
|
||
|
{
|
||
|
_comboBoxSaved = value;
|
||
|
NotifyOfPropertyChange();
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public string Name
|
||
|
{
|
||
|
get => _name;
|
||
|
set
|
||
|
{
|
||
|
if (value != _name)
|
||
|
_name = value;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public string Description
|
||
|
{
|
||
|
get => _description;
|
||
|
set
|
||
|
{
|
||
|
if (value != _description)
|
||
|
_description = value;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
#endregion
|
||
|
|
||
|
#region Methods
|
||
|
|
||
|
public object Clone()
|
||
|
{
|
||
|
return new PermissionControlItem(Name, Permission, ID, Description);
|
||
|
}
|
||
|
|
||
|
#endregion
|
||
|
|
||
|
|
||
|
}
|