using System; namespace ln.identities { public class Role { public static readonly Role SuperUser = new Role(Guid.Parse("{eefca5e2-2295-44d5-9b24-000000000000}"),"SuperUser"); public static readonly Role Owner = new Role(Guid.Parse("{eefca5e2-2295-44d5-9b24-000000000001}"), "Owner"); public static readonly Role Editor = new Role(Guid.Parse("{eefca5e2-2295-44d5-9b24-000000000002}"), "Editor"); public Guid UniqueID { get; } public String Name { get; set; } private Role() {} public Role(string roleName):this(Guid.NewGuid(),roleName){} public Role(Guid uniqueID,string roleName) { UniqueID = uniqueID; Name = roleName; } public override bool Equals(object obj) => (obj is Role other) && other.UniqueID.Equals(UniqueID); public override int GetHashCode() => UniqueID.GetHashCode(); } }