本文整理汇总了C#中ConnectionType.HasFlag方法的典型用法代码示例。如果您正苦于以下问题:C# ConnectionType.HasFlag方法的具体用法?C# ConnectionType.HasFlag怎么用?C# ConnectionType.HasFlag使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ConnectionType
的用法示例。
在下文中一共展示了ConnectionType.HasFlag方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetPermissions
public static Permission GetPermissions(Event e, ConnectionType connection)
{
var p = new Permission(e);
if (connection.HasFlag(ConnectionType.Owner))
{
p.value |= PermissionEnum.Copy;
p.value |= PermissionEnum.Delete;
p.value |= PermissionEnum.Edit;
}
switch (e.Privacy)
{
// public event can be viewed, shared and accpeted by everyone
case DataAccess.Enums.Privacy.Public:
p.value |= PermissionEnum.View;
p.value |= PermissionEnum.Share;
p.value |= PermissionEnum.Accept;
break;
// friend only event can be viewed and accpeted by friends and owner only
case DataAccess.Enums.Privacy.Friends:
if (connection.HasFlag(ConnectionType.Friend) || connection.HasFlag(ConnectionType.Owner))
{
p.value |= PermissionEnum.View;
p.value |= PermissionEnum.Accept;
}
break;
// friend of friend can view and accept
case DataAccess.Enums.Privacy.FriendsOfFriend:
if (connection.HasFlag(ConnectionType.FriendOfFriend)
|| connection.HasFlag(ConnectionType.Friend)
|| connection.HasFlag(ConnectionType.Owner))
{
p.value |= PermissionEnum.View;
p.value |= PermissionEnum.Accept;
}
break;
// private means that only the owner can view and and accept
// Todo: how about people that are invited explicitly?
case DataAccess.Enums.Privacy.Private:
if (connection.HasFlag(ConnectionType.Owner))
{
p.value |= PermissionEnum.View;
p.value |= PermissionEnum.Accept;
}
break;
}
if (p.value != PermissionEnum.EmptyMask)
{
p.value |= PermissionEnum.View;
}
return p;
}