📄 permissionsetting.cs
字号:
namespace Imps.Client.Core
{
using Imps.Common.Permission;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Reflection;
using System.Runtime.InteropServices;
public class PermissionSetting : IDictionary<PermissionPointName, PermissionPoint>, ICollection<KeyValuePair<PermissionPointName, PermissionPoint>>, IEnumerable<KeyValuePair<PermissionPointName, PermissionPoint>>, IEnumerable
{
private static Dictionary<PermissionPointName, PermissionPoint> _pDic = new Dictionary<PermissionPointName, PermissionPoint>();
private static PermissionSetting _permissionPoints = new PermissionSetting();
static PermissionSetting()
{
Init();
}
public bool ContainsKey(PermissionPointName key)
{
return _pDic.ContainsKey(key);
}
public IEnumerator<KeyValuePair<PermissionPointName, PermissionPoint>> GetEnumerator()
{
return _pDic.GetEnumerator();
}
private static void Init()
{
_pDic.Add(PermissionPointName.Birthday, new PermissionPoint(PermissionPointName.Birthday, 1, true));
_pDic.Add(PermissionPointName.Buddy, new PermissionPoint(PermissionPointName.Buddy, 0, true));
_pDic.Add(PermissionPointName.Business, new PermissionPoint(PermissionPointName.Business, 0, true));
_pDic.Add(PermissionPointName.Contact, new PermissionPoint(PermissionPointName.Contact, 1, true));
_pDic.Add(PermissionPointName.Email, new PermissionPoint(PermissionPointName.Email, 1, true));
_pDic.Add(PermissionPointName.Identity, new PermissionPoint(PermissionPointName.Identity, 0, false));
_pDic.Add(PermissionPointName.Ivr, new PermissionPoint(PermissionPointName.Ivr, 2, true));
_pDic.Add(PermissionPointName.Location, new PermissionPoint(PermissionPointName.Location, 1, true));
_pDic.Add(PermissionPointName.Phone, new PermissionPoint(PermissionPointName.Phone, 0, true));
_pDic.Add(PermissionPointName.Presence, new PermissionPoint(PermissionPointName.Presence, 1, true));
}
void ICollection<KeyValuePair<PermissionPointName, PermissionPoint>>.Add(KeyValuePair<PermissionPointName, PermissionPoint> item)
{
throw new Exception("The method or operation is not implemented.");
}
void ICollection<KeyValuePair<PermissionPointName, PermissionPoint>>.Clear()
{
_pDic.Clear();
}
bool ICollection<KeyValuePair<PermissionPointName, PermissionPoint>>.Contains(KeyValuePair<PermissionPointName, PermissionPoint> item)
{
throw new Exception("The method or operation is not implemented.");
}
void ICollection<KeyValuePair<PermissionPointName, PermissionPoint>>.CopyTo(KeyValuePair<PermissionPointName, PermissionPoint>[] array, int arrayIndex)
{
throw new Exception("The method or operation is not implemented.");
}
bool ICollection<KeyValuePair<PermissionPointName, PermissionPoint>>.Remove(KeyValuePair<PermissionPointName, PermissionPoint> item)
{
throw new Exception("The method or operation is not implemented.");
}
void IDictionary<PermissionPointName, PermissionPoint>.Add(PermissionPointName key, PermissionPoint value)
{
throw new Exception("The method or operation is not implemented.");
}
bool IDictionary<PermissionPointName, PermissionPoint>.Remove(PermissionPointName key)
{
throw new Exception("The method or operation is not implemented.");
}
IEnumerator IEnumerable.GetEnumerator()
{
throw new Exception("The method or operation is not implemented.");
}
public bool TryGetValue(PermissionPointName key, out PermissionPoint value)
{
return _pDic.TryGetValue(key, ref value);
}
public PermissionPoint Birthday
{
get
{
return _pDic.get_Item(PermissionPointName.Birthday);
}
}
public PermissionPoint Buddy
{
get
{
return _pDic.get_Item(PermissionPointName.Buddy);
}
}
public PermissionPoint Business
{
get
{
return _pDic.get_Item(PermissionPointName.Business);
}
}
public PermissionPoint Contact
{
get
{
return _pDic.get_Item(PermissionPointName.Contact);
}
}
public int Count
{
get
{
return _pDic.get_Count();
}
}
public PermissionPoint[] DefaultGlobalPermission
{
get
{
return new PermissionPoint[] { new PermissionPoint(PermissionPointName.Birthday, this.Birthday.DefaultValue, true), new PermissionPoint(PermissionPointName.Buddy, this.Buddy.DefaultValue, true), new PermissionPoint(PermissionPointName.Business, this.Business.DefaultValue, true), new PermissionPoint(PermissionPointName.Contact, this.Contact.DefaultValue, true), new PermissionPoint(PermissionPointName.Email, this.Email.DefaultValue, true), new PermissionPoint(PermissionPointName.Ivr, this.Ivr.DefaultValue, true), new PermissionPoint(PermissionPointName.Location, this.Location.DefaultValue, true), new PermissionPoint(PermissionPointName.Phone, this.Phone.DefaultValue, true) };
}
}
public PermissionPoint Email
{
get
{
return _pDic.get_Item(PermissionPointName.Email);
}
}
public PermissionPoint Identity
{
get
{
return _pDic.get_Item(PermissionPointName.Identity);
}
}
public static PermissionSetting Instance
{
get
{
return _permissionPoints;
}
}
public bool IsReadOnly
{
get
{
return true;
}
}
public PermissionPoint this[PermissionPointName key]
{
get
{
return _pDic.get_Item(key);
}
set
{
throw new Exception("The method or operation is not implemented.");
}
}
public PermissionPoint Ivr
{
get
{
return _pDic.get_Item(PermissionPointName.Ivr);
}
}
public ICollection<PermissionPointName> Keys
{
get
{
return _pDic.get_Keys();
}
}
public PermissionPoint Location
{
get
{
return _pDic.get_Item(PermissionPointName.Location);
}
}
public static Dictionary<PermissionPointName, PermissionPoint> PermissionDictionary
{
get
{
return _pDic;
}
}
public PermissionPoint Phone
{
get
{
return _pDic.get_Item(PermissionPointName.Phone);
}
}
public PermissionPoint Presence
{
get
{
return _pDic.get_Item(PermissionPointName.Presence);
}
}
public ICollection<PermissionPoint> Values
{
get
{
return _pDic.get_Values();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -