public IEnumerable<string> GetUserPermissions(Framework.Security.IUser user) { return _userPermissionsCache.GetOrAdd(user.Id, context => { foreach (var item in _userPermissionsPattern) { if (item.Type == user.GetAccountType()) return item.GetUserPermissions(user); } return Enumerable.Empty<string>(); }); }