internal bool Intersects(DateTimeSpan dateRange) { if (!HasValidRange || !dateRange.HasValidRange) { throw new InvalidOperationException("Incomparable date ranges."); } return(End > dateRange.Start && dateRange.End > Start); }
public CalendarAppointment(string summary, string location, DateTimeSpan dateRange) { if (string.IsNullOrWhiteSpace(summary)) { throw new ArgumentException("A summary is required."); } if (string.IsNullOrWhiteSpace(location)) { throw new ArgumentException("A location is required."); } if (!dateRange.HasValidRange) { throw new ArgumentException("Appointment end must be after start."); } this.Summary = summary; this.Location = location; this.DateRange = dateRange; }