private static void InvalidateCacheForPermissionsChange(UserPermission sender)
 {
     if (sender.User != null)
     {
         DistributedCache.Instance.RefreshUserPermissionsCache(sender.User.Id);
     }
     else if (sender.UserId > -1)
     {
         DistributedCache.Instance.RefreshUserPermissionsCache(sender.UserId);
     }
     else if (sender.NodeIds.Any())
     {
         DistributedCache.Instance.RefreshAllUserPermissionsCache();
     }
 }
 static void PermissionNew(UserPermission sender, NewEventArgs e)
 {
     InvalidateCacheForPermissionsChange(sender);
 }
 static void PermissionUpdated(UserPermission sender, SaveEventArgs e)
 {
     InvalidateCacheForPermissionsChange(sender);
 }
 private static void OnNew(UserPermission permission, NewEventArgs args)
 {
     if (New != null)
     {
         New(permission, args);
     }
 }
 private static void OnUpdated(UserPermission permission, SaveEventArgs args)
 {
     if (Updated != null)
     {
         Updated(permission, args);
     }
 }
 private static void OnDeleted(UserPermission permission, DeleteEventArgs args)
 {
     if (Deleted != null)
     {
         Deleted(permission, args);
     }
 }