PermissionEqualityComparer.cs 710 B

123456789101112131415161718192021222324252627282930
  1. using Abp.Authorization;
  2. namespace VberZero.Authorization.Roles;
  3. /// <summary>
  4. /// Equality comparer for <see cref="Permission"/> objects.
  5. /// </summary>
  6. internal class PermissionEqualityComparer : IEqualityComparer<Permission>
  7. {
  8. public static PermissionEqualityComparer Instance { get; } = new PermissionEqualityComparer();
  9. public bool Equals(Permission? x, Permission? y)
  10. {
  11. if (x == null && y == null)
  12. {
  13. return true;
  14. }
  15. if (x == null || y == null)
  16. {
  17. return false;
  18. }
  19. return Equals(x.Name, y.Name);
  20. }
  21. public int GetHashCode(Permission permission)
  22. {
  23. return permission.Name.GetHashCode();
  24. }
  25. }