public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = (Value != null ? Value.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ Date.GetHashCode();
         hashCode = (hashCode * 397) ^ NullableDate.GetHashCode();
         hashCode = (hashCode * 397) ^ (DateArray != null ? DateArray.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (NullableDateArray != null ? NullableDateArray.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (DateList != null ? DateList.GetHashCode() : 0);
         return(hashCode);
     }
 }
 public bool Equals(TestDTO other)
 {
     if (ReferenceEquals(null, other))
     {
         return(false);
     }
     if (ReferenceEquals(this, other))
     {
         return(true);
     }
     return(string.Equals(Value, other.Value) && Date.Equals(other.Date) &&
            NullableDate.Equals(other.NullableDate) && NullableDateArray.SequenceEqual(other.NullableDateArray) &&
            DateArray.SequenceEqual(other.DateArray) && DateList.SequenceEqual(other.DateList));
 }