public int GetHashCode(ReverseDnsDetail obj)
 {
     unchecked
     {
         var hashCode = (obj.Host != null ? obj.Host.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (obj.OrganisationalDomain != null ? obj.OrganisationalDomain.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ obj.ForwardMatches.GetHashCode();
         return(hashCode);
     }
 }
        public void AddReverseDnsDetail(DateTime date, string host, string orgDomain, bool forwardMatches)
        {
            ReverseDnsDetail newReverseDnsDetail = new ReverseDnsDetail(date, host, orgDomain, forwardMatches);

            if (this._ipAddressDateRangeDetails.ReverseDnsDetails.Any() &&
                this._reverseDnsDetailComparer.Equals(this._ipAddressDateRangeDetails.ReverseDnsDetails.Last(), newReverseDnsDetail))
            {
                this._ipAddressDateRangeDetails.ReverseDnsDetails.Last().EndDate = newReverseDnsDetail.EndDate;
            }
            else
            {
                this._ipAddressDateRangeDetails.ReverseDnsDetails.Add(newReverseDnsDetail);
            }
        }
 public bool Equals(ReverseDnsDetail x, ReverseDnsDetail y)
 {
     if (ReferenceEquals(x, y))
     {
         return(true);
     }
     if (ReferenceEquals(x, null))
     {
         return(false);
     }
     if (ReferenceEquals(y, null))
     {
         return(false);
     }
     if (x.GetType() != y.GetType())
     {
         return(false);
     }
     return(String.Equals(x.Host, y.Host) && String.Equals(x.OrganisationalDomain, y.OrganisationalDomain) && x.ForwardMatches == y.ForwardMatches);
 }