/// <summary>
    /// Occurs when dropdown in ScheduleAppointment web part changes selected value
    /// </summary>
    public void DoctorChangedHandler(object sender, SelectDoctorEventArgs e)
    {
        // load appointments with joined doctors
        var appointments = LoadAppointments(DateTime.Now, e.DoctorID);

        // assign appointments to repeater
        repAppointments.DataSource = appointments;
        repAppointments.DataBind();
    }
    /// <summary>
    /// Gets executed when selected value in doctor's dropdown changes
    /// </summary>
    protected void SelectDoctor_SelectedIndexChanged(object sender, EventArgs e)
    {
        // create custom SelectDoctorEventArgs
        var args = new SelectDoctorEventArgs()
        {
            DoctorID = ValidationHelper.GetInteger(SelectDoctor.SelectedValue, 0)
        };

        // raise component event
        ComponentEvents.RequestEvents.RaiseComponentEvent(sender, args, "DoctorDropdown", "SelectedIndexChanged");
    }