Ejemplo n.º 1
0
        public ActionResult Save(NewModuleInputModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            int    lastCapital = Array.FindLastIndex <char>(model.LecturerFullName.ToCharArray(), Char.IsUpper);
            string lastName    = null;

            if (lastCapital >= 0)
            {
                lastName = model.LecturerFullName.Substring(lastCapital);
            }
            string firstName  = model.LecturerFullName.Split(' ')[0];
            int    lecturerID = context.Lecturers.ToList().Find(x => x.LastName == ' ' + lastName && x.FirstName == firstName).ID;

            context.Modules.Add(new DataModel.Classes.Module()
            {
                ID          = model.ID,
                ModuleCode  = model.ModuleCode,
                ModuleName  = model.ModuleName,
                Description = model.Description
            });
            context.ModuleDeliveries.Add(new DataModel.Classes.ModuleDelivery()
            {
                LecturerID   = lecturerID,
                ModuleID     = model.ID,
                DeliveryDay  = model.DeliveryDay,
                DeliveryTime = model.DeliveryTime,
                Duration     = model.Duration
            });
            context.SaveChanges();
            ViewBag.Success = true;
            return(RedirectToAction("CreateModule"));
        }
Ejemplo n.º 2
0
        public ActionResult CreateNewAttendanceSheet(CreateAttendanceSheet model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            int moduleID = context.Modules.ToList().Find(i => i.ModuleCode == model.ModuleCode).ID;

            if (!context.ModuleDeliveries.ToList().Exists(x => x.ModuleID == moduleID && x.LecturerID == lecturerID))
            {
                TempData["ErrorMessage"] = "You cannot register attendance for this module as you do no teach it";
                return(RedirectToAction("CreateAttendanceSheet"));
            }
            DataModel.Classes.ModuleAttendance attendance = new DataModel.Classes.ModuleAttendance()
            {
                ID             = model.ID,
                ModuleID       = moduleID,
                StudentID      = model.StudentID,
                StartDateTime  = model.StartDateTime,
                FinishDateTime = model.FinishDateTime
            };
            if (context.ModuleAttendances.Contains(attendance))
            {
                TempData["ErrorMessage"] = "You've already recorded this attendance";
                return(RedirectToAction("CreateAttendanceSheet"));
            }
            context.ModuleAttendances.Add(attendance);
            context.SaveChanges();
            return(RedirectToAction("AttendanceSheets"));
        }
Ejemplo n.º 3
0
        public ActionResult Enroll(int moduleID)
        {
            string loggedStudentID = System.Web.HttpContext.Current.User.Identity.Name.Split('@')[0];
            int    numberOfModulesAlreadyChosen = context.Enrollments.ToList().FindAll(i => i.StudentID == loggedStudentID).Count;

            if (numberOfModulesAlreadyChosen >= 6)
            {
                TempData["EnrollmentMessage"] = "You've already enrolled in the maximum number of modules (6 modules)";
                return(RedirectToAction("ModuleEnrollment"));
            }
            if (context.Enrollments.ToList().Exists(i => i.ModuleID == moduleID && i.StudentID == loggedStudentID))
            {
                TempData["EnrollmentMessage"] = "You've already enrolled in that module";
                return(RedirectToAction("ModuleEnrollment"));
            }
            context.EnrollmentApplications.Add(new DataModel.EnrollmentApplication()
            {
                StudentID   = loggedStudentID,
                ModuleID    = moduleID,
                DateApplied = DateTime.Today
            });
            context.SaveChanges();
            TempData["EnrollmentMessage"] = "You've successfuly enrolled for selected module";
            return(RedirectToAction("ModuleEnrollment"));
        }