/// <summary>
        /// Gets the hash code
        /// </summary>
        /// <returns>Hash code</returns>
        public override int GetHashCode()
        {
            unchecked // Overflow is fine, just wrap
            {
                var hashCode = 41;
                // Suitable nullity checks etc, of course :)
                if (Title != null)
                {
                    hashCode = hashCode * 59 + Title.GetHashCode();
                }
                if (Forenames != null)
                {
                    hashCode = hashCode * 59 + Forenames.GetHashCode();
                }
                if (Surname != null)
                {
                    hashCode = hashCode * 59 + Surname.GetHashCode();
                }
                if (MiddleInitials != null)
                {
                    hashCode = hashCode * 59 + MiddleInitials.GetHashCode();
                }
                if (KnownAs != null)
                {
                    hashCode = hashCode * 59 + KnownAs.GetHashCode();
                }

                hashCode = hashCode * 59 + Gender.GetHashCode();
                if (DateOfBirth != null)
                {
                    hashCode = hashCode * 59 + DateOfBirth.GetHashCode();
                }
                return(hashCode);
            }
        }
        /// <summary>
        /// Gets the hash code
        /// </summary>
        /// <returns>Hash code</returns>
        public override int GetHashCode()
        {
            unchecked // Overflow is fine, just wrap
            {
                var hashCode = 41;
                // Suitable nullity checks etc, of course :)
                if (StaffNumber != null)
                {
                    hashCode = hashCode * 59 + StaffNumber.GetHashCode();
                }
                if (Forenames != null)
                {
                    hashCode = hashCode * 59 + Forenames.GetHashCode();
                }
                if (Surname != null)
                {
                    hashCode = hashCode * 59 + Surname.GetHashCode();
                }
                if (MobileNumber != null)
                {
                    hashCode = hashCode * 59 + MobileNumber.GetHashCode();
                }
                if (Grade != null)
                {
                    hashCode = hashCode * 59 + Grade.GetHashCode();
                }
                if (GradeType != null)
                {
                    hashCode = hashCode * 59 + GradeType.GetHashCode();
                }
                if (GradeTypeCategory != null)
                {
                    hashCode = hashCode * 59 + GradeTypeCategory.GetHashCode();
                }

                hashCode = hashCode * 59 + WTE.GetHashCode();
                return(hashCode);
            }
        }