var permissionString= (string) reader.Value;
+ var permissions = ParsePermissions(permissionString);
+
+ return permissions;
+ }
+
+ public static Dictionary<string, string> ParsePermissions(string permissionString)
+ {
var permissions = (from permisson in permissionString.Split(';')
let parsed = permisson.Split('=')
from account in parsed[1].Split(',')
- select new { account, Permission = parsed[0] })
- .ToDictionary(perm=>perm.account,perm=>perm.Permission);
-
+ select new {account, Permission = parsed[0]})
+ .Distinct().ToDictionary(perm => perm.account, perm => perm.Permission);
return permissions;
}