// GET: Semesters
        public ActionResult Index()
        {
            var academicYears = _context.AcademicYears.ToList();

            var viewModel = new AcademicSemestersViewModel
            {
                AcademicYears = academicYears
            };

            return(View(viewModel));
        }
        public ActionResult SaveSemester(AcademicSemestersViewModel model)
        {
            if (ModelState.IsValid)
            {
                var academicSemester = new AcademicSemester
                {
                    AcademicYearId  = model.AcademicYearId,
                    CurrentSemester = true,
                    Semester        = model.Semester,
                    StartDate       = model.StartDate,
                    EndDate         = model.EndDate
                };

                var academicSemesterStartEvent = new AcademicEvent
                {
                    Subject     = "Academic Semester Start Date",
                    Description = $"Semester {academicSemester.AcademicSemesterTitle} Start Date",
                    Start       = model.StartDate
                };

                var academicSemesterEndEvent = new AcademicEvent
                {
                    Subject     = "Academic Semester End Date",
                    Description = $"Semester {academicSemester.AcademicSemesterTitle} End Date",
                    Start       = model.EndDate
                };

                var previousSemesters = _context.AcademicSemesters.Where(s => s.CurrentSemester);

                foreach (var semester in previousSemesters)
                {
                    semester.CurrentSemester = false;
                }

                _context.AcademicSemesters.Add(academicSemester);
                _context.AcademicEvents.Add(academicSemesterStartEvent);
                _context.AcademicEvents.Add(academicSemesterEndEvent);
                _context.SaveChanges();

                return(RedirectToAction("Index", "Home"));
            }

            return(View("Index"));
        }