/// <summary>
/// Updates the display date.
/// </summary>
/// <param name="c">Calendar instance.</param>
/// <param name="addedDate">Added date.</param>
/// <param name="removedDate">Removed date.</param>
private static void UpdateDisplayDate(Calendar c, DateTime addedDate, DateTime removedDate)
{
Debug.Assert(c != null, "c should not be null!");
// If DisplayDate < DisplayDateStart, DisplayDate = DisplayDateStart
if (DateTime.Compare(addedDate, c.DisplayDateRangeStart) < 0)
{
c.DisplayDate = c.DisplayDateRangeStart;
return;
}
// If DisplayDate > DisplayDateEnd, DisplayDate = DisplayDateEnd
if (DateTime.Compare(addedDate, c.DisplayDateRangeEnd) > 0)
{
c.DisplayDate = c.DisplayDateRangeEnd;
return;
}
c.DisplayDateInternal = DateTimeHelper.DiscardDayTime(addedDate);
c.UpdateMonths();
c.OnDisplayDate(new CalendarDateChangedEventArgs(removedDate, addedDate));
}