// #2a Method updates PERIODS drop-down with available periods private void LB_Day_SelectedIndexChanged(object sender, EventArgs e) { CB_AvailTimes.Items.Clear(); _day = _days[LB_Day.SelectedIndex]; PeriodAccessLayer PAL = new PeriodAccessLayer(Session.Database); _periods = PAL.GetFreePeriods(_instruments[CB_Instrument.SelectedIndex], _terms[LB_Terms.SelectedIndex], _day); foreach (Period p in _periods) { CB_AvailTimes.Items.Add(p.Id); } }
// #2b occurs if picking a custom date private void DTP_StartDate_ValueChanged(object sender, EventArgs e) { CB_AvailTimes.Items.Clear(); if (DTP_StartDate.Value < _terms[LB_Terms.SelectedIndex].StartDate || DTP_StartDate.Value > _terms[LB_Terms.SelectedIndex].EndDate) { MessageBox.Show("The selected date is not within the selected term."); } else { _day = DTP_StartDate.Value.DayOfWeek; CB_AvailTimes.Items.Clear(); PeriodAccessLayer PAL = new PeriodAccessLayer(Session.Database); _periods = PAL.GetFreePeriods(_instruments[CB_Instrument.SelectedIndex], _terms[LB_Terms.SelectedIndex], _day); foreach (Period p in _periods) { CB_AvailTimes.Items.Add(p.Id); } } }