using System; namespace ScreenConnect; public class SessionConnectionInfo { public Guid ConnectionID { get; set; } public ProcessType ProcessType { get; set; } public Utf8String ParticipantName { get; set; } public SessionConnectionInfoAttributes Attributes { get; set; } public int Color { get; set; } public override bool Equals(object obj) { if (obj is SessionConnectionInfo sessionConnectionInfo && sessionConnectionInfo.ConnectionID == ConnectionID && sessionConnectionInfo.ProcessType == ProcessType && sessionConnectionInfo.ParticipantName == ParticipantName && sessionConnectionInfo.Attributes == Attributes) { return sessionConnectionInfo.Color == Color; } return false; } public override int GetHashCode() { return HashCode.Seed.And(ConnectionID).And(ProcessType).And(ParticipantName) .And(Attributes) .And(Color); } }