public UserUpdateEvent( IUser user, string userName = null, Colour?colour = null, int?rank = null, string nickName = null, UserPermissions?perms = null, UserStatus?status = null, string statusMessage = null ) : base(user ?? throw new ArgumentNullException(nameof(user))) { OldUserName = user.UserName; if (!OldUserName.Equals(userName)) { NewUserName = userName; } OldColour = user.Colour; if (!OldColour.Equals(colour)) { NewColour = colour; } OldRank = user.Rank; if (OldRank != rank) { NewRank = rank; } OldNickName = user.NickName; if (!OldNickName.Equals(nickName)) { NewNickName = nickName; } OldPerms = user.Permissions; if (OldPerms != perms) { NewPerms = perms; } OldStatus = user.Status; if (OldStatus != status) { NewStatus = status; } OldStatusMessage = user.StatusMessage; if (!OldStatusMessage.Equals(statusMessage)) { NewStatusMessage = statusMessage; } }
public override int GetHashCode() { int hash = 1; if (OldUserName.Length != 0) { hash ^= OldUserName.GetHashCode(); } if (NewUserName.Length != 0) { hash ^= NewUserName.GetHashCode(); } return(hash); }