/// <summary> /// Withes the selected dates. /// </summary> /// <param name="selectedDates">The selected dates.</param> /// <returns>FluentInitializer.</returns> /// <exception cref="Java.Lang.IllegalArgumentException">SINGLE mode can't be used with multiple selectedDates</exception> public EFluentInitializer WithSelectedDates(ICollection <DateTime> selectedDates) { if (_calendar.Mode == ECalendarPickerView.SelectionMode.Single && _calendar.SelectedDates.Count > 1) { throw new IllegalArgumentException("SINGLE mode can't be used with multiple selectedDates"); } if (_calendar.SelectedDates != null) { foreach (var date in selectedDates) { _calendar.SelectDate(date); } } int selectedIndex = -1; int todayIndex = -1; for (int i = 0; i < _calendar.Months.Count; i++) { var month = _calendar.Months[i]; if (selectedIndex == -1) { if (_calendar.SelectedCals.Any( selectedCal => ECalendarPickerView.IsSameMonth(selectedCal, month))) { selectedIndex = i; } if (selectedIndex == -1 && todayIndex == -1 && ECalendarPickerView.IsSameMonth(DateTime.Now, month)) { todayIndex = i; } } } if (selectedIndex != -1) { _calendar.ScrollToSelectedMonth(selectedIndex); } else if (todayIndex != -1) { _calendar.ScrollToSelectedMonth(todayIndex); } _calendar.ValidateAndUpdate(); return(this); }