public int CompareTo(object obj) { if (this.Static) { if (Date.CompareTo(((JSONBooking)obj).Date) == 0) { return(Lesson.CompareTo(((JSONBooking)obj).Lesson)); } return(Date.CompareTo(((JSONBooking)obj).Date)); } else { if (this.Booking.Date.CompareTo(((JSONBooking)obj).GetBooking().Date) == 0) { return(Lesson.CompareTo(((JSONBooking)obj).Lesson)); } return(this.Booking.Date.CompareTo(((JSONBooking)obj).GetBooking().Date)); } }