public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }
            //if (ReferenceEquals(this, obj))
            //{
            //    return false;
            //}
            if (this.GetType() != obj.GetType())
            {
                return(false);
            }
            if (this.GetHashCode() != obj.GetHashCode())
            {
                return(false);
            }
            Contract other = obj as Contract;

            if (other == null || ExchCode == null)
            {
                return(base.Equals(obj));
            }
            return((ExchCode.Equals(other.ExchCode)) && Code.Equals(other.Code));// && Hycs.Equals(other.Hycs) && Fluct.Equals(other.Fluct);
        }
        public override int GetHashCode()
        {
            if (Code == null)
            {
                return(base.GetHashCode());
            }
            int hashCode = Code.GetHashCode();

            if (ExchCode != null && Code.GetHashCode() != ExchCode.GetHashCode())
            {
                hashCode ^= ExchCode.GetHashCode();
            }
            return(Code.GetHashCode());
        }