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"));
        }
        public IHttpActionResult Save(AcademicEvent model)
        {
            if (ModelState.IsValid)
            {
                if (model.Id == 0)
                {
                    model = _context.AcademicEvents.Add(model);
                }
                else
                {
                    var eventInDb = _context.AcademicEvents.SingleOrDefault(e => e.Id == model.Id);
                    eventInDb.Subject     = model.Subject;
                    eventInDb.Description = model.Description;
                    eventInDb.Start       = model.Start;
                    eventInDb.End         = model.End;
                    eventInDb.Color       = model.Color;
                }

                _context.SaveChanges();
            }

            return(Ok(model));
        }
        public ActionResult SaveYear(AcademicYearsViewModel model)
        {
            if (ModelState.IsValid)
            {
                var academicYear = new AcademicYear
                {
                    StartDate = model.StartDate,
                    EndDate   = model.EndDate,
                    EtYear    = model.EtYear,
                    GcYear    = model.GcYear
                };

                var academicYearStartEvent = new AcademicEvent
                {
                    Subject     = "Academic Year Start Date",
                    Description = $"{academicYear.EtYear} EC Academic Year Start Date",
                    Start       = model.StartDate
                };

                var academicYearEndEvent = new AcademicEvent
                {
                    Subject     = "Academic Year End Date",
                    Description = $"{academicYear.EtYear} EC Academic Year End Date",
                    Start       = model.EndDate
                };

                _context.AcademicYears.Add(academicYear);
                _context.AcademicEvents.Add(academicYearStartEvent);
                _context.AcademicEvents.Add(academicYearEndEvent);

                _context.SaveChanges();

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

            return(View("NewAcademicYear"));
        }
コード例 #4
0
 //get all the lectures in the database, it will return the result as a list
 public Task SaveAcademicEventsAsync(AcademicEvent acaEvent)
 {
     return(_database.InsertOrReplaceAsync(acaEvent));
 }