// UI handlers
        protected void ddCourseNames_SelectedIndexChanged(object sender, EventArgs e)
        {
            int courseID = Convert.ToInt32(ddCourseNames.SelectedValue);

            crud crud = new crud();
            List<subscription> subscriptions = crud.getAllSubscriptionsForCourse(courseID);
            DataTable table = getFilledSubscriptionTable(subscriptions);

            grdResults.DataSource = table;
            grdResults.DataBind();

            resultsFor.InnerText = ddCourseNames.SelectedItem.Text;

            ddUserProfiles.SelectedIndex = -1;
            cldrDates.SelectedDate = DateTime.Now;
        }
        private void refreshLists(int courseID)
        {
            crud crud = new crud();

            List<child> subscribedChildren = (List<child>) Session["subscribedChildren"] ?? crud.getAllSubscriptionsForCourse(courseID).Select(x => x.child).ToList<child>();
            List<child> childrenForUserProfile = new crud().getAllChildrenForUserProfile(Convert.ToInt32(Session["userID"]));

            subscribedChildren = subscribedChildren.Where(sChild => childrenForUserProfile.Find(uChild => uChild.id == sChild.id) != null ? true : sChild.id > int.MaxValue - 10001 ? true : false).ToList<child>();
            subscribedChildren.ForEach(sChild => childrenForUserProfile.Remove(childrenForUserProfile.Find(uChild => uChild.id == sChild.id)));

            Session["subscribedChildren"] = subscribedChildren;

            // fill select box (all children for user profile)
            if (childrenForUserProfile.Count < 1) {
                divExistingChildSelector.Visible = false;
                divHasNoExistingChildren.Visible = true;
            } else {
                divExistingChildSelector.Visible = true;
                divHasNoExistingChildren.Visible = false;
                lstAllChildren.Items.Clear();
                childrenForUserProfile.ForEach(uChild => lstAllChildren.Items.Add(new ListItem(uChild.firstName + " " + uChild.name, uChild.id.ToString())));
            };

            // fill list of children to subscribe
            lstSubscribedChildren.DataSource = subscribedChildren;
            lstSubscribedChildren.DataBind();
        }