protected void GetHalfTermAttendance_Click(object sender, EventArgs e)
        {
            DateRange dr;

            using (WebhostEntities db = new WebhostEntities())
            {
                // Select a term.

                DateTime midtermDate;
                try
                {
                    midtermDate = DateRange.GetDateTimeFromString(MidTermDateInput.Text);
                }
                catch (InvalidCastException)
                {
                    ((Default)Page.Master).ShowError("Invalid Date Range Selected.",
                                                     String.Format("Could not parse date from '{0}' to a valid DateTime.", MidTermDateInput.Text));
                    return;
                }

                List <Term> terms = db.Terms.Where(t => t.StartDate <midtermDate && t.EndDate> midtermDate).ToList();

                if (terms.Count < 1)
                {
                    return;
                }

                DateTime termdate = (BeforeOrAfter.SelectedIndex == 0) ? terms[0].StartDate : terms[0].EndDate;

                dr = new DateRange(midtermDate, termdate);
            }

            CSV quick = AttendanceControl.GetQuickOverview(dr);

            quick.Save(Server.MapPath("~/Temp/HalfTermAttendance.csv"));
            Response.Redirect("~/Temp/HalfTermAttendance.csv");
        }