public override int GetHashCode() { unchecked { var hashCode = (int)Level; hashCode = (hashCode * 397) ^ (Elems != null ? Elems.GetHashCode() : 0); hashCode = (hashCode * 397) ^ IsOnEvenWeek.GetHashCode(); hashCode = (hashCode * 397) ^ (Discipline != null ? Discipline.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (Teacher != null ? Teacher.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (Place != null ? Place.GetHashCode() : 0); hashCode = (hashCode * 397) ^ BeginTime.GetHashCode(); hashCode = (hashCode * 397) ^ Duration.GetHashCode(); hashCode = (hashCode * 397) ^ (Notation != null ? Notation.GetHashCode() : 0); return(hashCode); } }