Recently I came across the need to convert a string stored in the database into an enumeration in our application. I wasn’t really excited about having to write a switch statement nor having to maintain that code. Fortunately there is a command in .Net that allows you to parse that string into any enumeration which is a great help! Below is a sample of how to use Enum.Parse():
/// <summary>
/// This procedure generates the Permissions Mask necessary so that the correct permissions are applied by combining all the Masks that belong to a Security Permission Level
/// </summary>
/// <param name=”permissionLevel”>The Permission level for which the mask needs to be calculated</param>
/// <returns></returns>
private static Microsoft.SharePoint.SPBasePermissions GeneratePermissionMask(Security___Permission_Levels permissionLevel)
{
Microsoft.SharePoint.SPBasePermissions permissionMask = Microsoft.SharePoint.SPBasePermissions.EmptyMask;
Type SPBasePermissionType = typeof(Microsoft.SharePoint.SPBasePermissions);
foreach (Model.Security___Permissions_definition individualPermissionValue in permissionLevel.Security___Permissions_definition)
{
permissionMask |= (Microsoft.SharePoint.SPBasePermissions)Enum.Parse(SPBasePermissionType, individualPermissionValue.Security_Mask, true);
}
return (Microsoft.SharePoint.SPBasePermissions)permissionLevel.Permissions;
}
Related