Beispiel #1
0
        /// <summary>
        /// Returns true if ProjectSearchResultViewModel instances are equal
        /// </summary>
        /// <param name="other">Instance of ProjectSearchResultViewModel to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(ProjectSearchResultViewModel other)
        {
            if (other is null)
            {
                return(false);
            }
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return
                ((
                     Id == other.Id ||
                     Id.Equals(other.Id)
                     ) &&
                 (
                     District == other.District ||
                     District != null &&
                     District.Equals(other.District)
                 ) &&
                 (
                     Name == other.Name ||
                     Name != null &&
                     Name.Equals(other.Name)
                 ) &&
                 (
                     PrimaryContact == other.PrimaryContact ||
                     PrimaryContact != null &&
                     PrimaryContact.Equals(other.PrimaryContact)
                 ) &&
                 (
                     Hires == other.Hires ||
                     Hires != null &&
                     Hires.Equals(other.Hires)
                 ) &&
                 (
                     Requests == other.Requests ||
                     Requests != null &&
                     Requests.Equals(other.Requests)
                 ) &&
                 (
                     Status == other.Status ||
                     Status != null &&
                     Status.Equals(other.Status)
                 ) &&
                 (
                     RentalRequests == other.RentalRequests ||
                     RentalRequests != null &&
                     RentalRequests.SequenceEqual(other.RentalRequests)
                 ) &&
                 (
                     RentalAgreements == other.RentalAgreements ||
                     RentalAgreements != null &&
                     RentalAgreements.SequenceEqual(other.RentalAgreements)
                 ));
        }
Beispiel #2
0
        /// <summary>
        /// Gets the hash code
        /// </summary>
        /// <returns>Hash code</returns>
        public override int GetHashCode()
        {
            // credit: http://stackoverflow.com/a/263416/677735
            unchecked // Overflow is fine, just wrap
            {
                int hash = 41;

                // Suitable nullity checks
                hash = hash * 59 + Id.GetHashCode();

                if (District != null)
                {
                    hash = hash * 59 + District.GetHashCode();
                }

                if (Name != null)
                {
                    hash = hash * 59 + Name.GetHashCode();
                }

                if (PrimaryContact != null)
                {
                    hash = hash * 59 + PrimaryContact.GetHashCode();
                }

                if (Hires != null)
                {
                    hash = hash * 59 + Hires.GetHashCode();
                }

                if (Requests != null)
                {
                    hash = hash * 59 + Requests.GetHashCode();
                }

                if (Status != null)
                {
                    hash = hash * 59 + Status.GetHashCode();
                }

                if (RentalRequests != null)
                {
                    hash = hash * 59 + RentalRequests.GetHashCode();
                }

                if (RentalAgreements != null)
                {
                    hash = hash * 59 + RentalAgreements.GetHashCode();
                }

                return(hash);
            }
        }