Example #1
0
        /// <summary>
        /// Compares two opening times for equality.
        /// </summary>
        /// <param name="OpeningTimes">An opening time to compare with.</param>
        /// <returns>True if both match; False otherwise.</returns>
        public Boolean Equals(OpeningTime OpeningTimes)

        => Periods.Count().Equals(OpeningTimes.Periods.Count()) &&
        Periods.All(period => OpeningTimes.Periods.Contains(period)) &&

        On.Equals(OpeningTimes.On) &&

        ((!UnstructuredText.IsNullOrEmpty() && !OpeningTimes.UnstructuredText.IsNullOrEmpty()) ||
         (UnstructuredText.IsNullOrEmpty() && OpeningTimes.UnstructuredText.IsNullOrEmpty() && UnstructuredText.Equals(OpeningTimes.UnstructuredText)));
Example #2
0
        /// <summary>
        /// Return the hash code of this object.
        /// </summary>
        /// <returns>The hash code of this object.</returns>
        public override Int32 GetHashCode()
        {
            unchecked
            {
                return(Periods.Aggregate(0, (hashCode, period) => hashCode ^ period.GetHashCode()) ^
                       On.GetHashCode() * 3 ^

                       (UnstructuredText.IsNullOrEmpty()
                           ? UnstructuredText.GetHashCode()
                           : 0));
            }
        }