Exemplo n.º 1
0
        public ActionResult ChangeCourseStatus(int courseOccurrenceID, string courseStatus)
        {
            CourseOccurrence courseOccurrence = db.CourseOccurrence.Find(courseOccurrenceID);

            if (courseStatus == "Planning")
            {
                courseOccurrence.Status = Statuses.Planning;
            }
            else if (courseStatus == "WaitingForApproval")
            {
                courseOccurrence.Status = Statuses.WaitingForApproval;
            }
            else if (courseStatus == "Approved")
            {
                courseOccurrence.Status = Statuses.Approved;
            }
            else if (courseStatus == "Completed")
            {
                courseOccurrence.Status = Statuses.Completed;
            }

            db.SaveChanges();

            return(RedirectToAction("Details/" + courseOccurrenceID));
        }
Exemplo n.º 2
0
        //
        // GET: /CourseOccurrence/Details/5

        public ActionResult Details(int id = 0)
        {
            CourseOccurrence courseoccurrence = db.CourseOccurrence.Find(id);

            if (courseoccurrence == null)
            {
                return(HttpNotFound());
            }

            string CurrentEduYear = GetCurrentEducationalYear();

            List <CourseOccurrence> courseOccurencesHistory = GetCoursesHistory(courseoccurrence.CourseID, CurrentEduYear).ToList();

            List <CourseTeacher> teachersCourse = GetTeachers(courseoccurrence.CourseOccurrenceID).ToList();

            ViewBag.CourseOccurencesHistory = courseOccurencesHistory;

            ViewBag.teachersCourse = teachersCourse;

            ViewBag.TeachersHistory =
                new Func <int, IEnumerable <Teacher> >(GetTeacherHistory);

            ViewBag.GetCourseResponsibleName =
                new Func <int, string>(GetCourseResponsibleNameFind);

            ViewBag.IsCourseResponsibleName =
                new Func <int, int, string>(IsCourseResponsibleNameFind);

            ViewBag.TeachersForCourseResponsible = db.Teacher.ToList();

            ViewBag.ResponseApprovalMessageList = GetResponseApprovalMessage(teachersCourse, courseoccurrence);

            return(View(courseoccurrence));
        }
Exemplo n.º 3
0
        private int CourseAllocatedHoursFind(int courseOccurrenceId)
        {
            CourseOccurrence courseOccurrence = db.CourseOccurrence.Find(courseOccurrenceId);
            int CourseHoursTotalAllocated     = CalculateCourseHoursAllocated(courseOccurrence);

            return(CourseHoursTotalAllocated);
        }
Exemplo n.º 4
0
        public ActionResult DeleteConfirmed(int id)
        {
            CourseOccurrence courseoccurrence = db.CourseOccurrence.Find(id);

            db.CourseOccurrence.Remove(courseoccurrence);
            db.SaveChanges();
            return(RedirectToAction("Details/" + courseoccurrence.CourseOccurrenceID));
        }
Exemplo n.º 5
0
 public static void AddCourseOccurrence(CourseOccurrence occ)
 {
     if (db.Courses.Any(x => x.CourseID == occ.CourseID))
     {
         db.CourseOccurrences.Add(occ);
         db.SaveChanges();
     }
 }
Exemplo n.º 6
0
        //
        // GET: /CourseOccurrence/Delete/5

        public ActionResult Delete(int id = 0)
        {
            CourseOccurrence courseoccurrence = db.CourseOccurrence.Find(id);

            if (courseoccurrence == null)
            {
                return(HttpNotFound());
            }
            return(RedirectToAction("Details/" + courseoccurrence.CourseOccurrenceID));
        }
Exemplo n.º 7
0
        public static CourseOccurrence getCourseOccurrence(int CourseID, int DayOfWeek, int StartingHour, int StartingMinute, int DurationMinutes)
        {
            CourseOccurrence occ = new CourseOccurrence();

            occ.CourseID        = CourseID;
            occ.DayOfWeek       = DayOfWeek;
            occ.StartingHour    = StartingHour;
            occ.StartingMinute  = StartingMinute;
            occ.DurationMinutes = DurationMinutes;
            return(occ);
        }
Exemplo n.º 8
0
        public ActionResult EditBudget(int id, int newBudget)
        {
            //CourseModel coursemodel = db.Courses.Find(id);
            CourseOccurrence courseoccurrence = db.CourseOccurrence.Find(id);

            courseoccurrence.Budget          = newBudget;
            db.Entry(courseoccurrence).State = EntityState.Modified;
            db.SaveChanges();

            return(RedirectToAction("Details/" + courseoccurrence.CourseOccurrenceID));
        }
Exemplo n.º 9
0
 public ActionResult Edit(CourseOccurrence courseoccurrence)
 {
     if (ModelState.IsValid)
     {
         db.Entry(courseoccurrence).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.CourseID            = new SelectList(db.Course, "CourseId", "CourseCode", courseoccurrence.CourseID);
     ViewBag.CourseResponsibleID = new SelectList(db.Teacher, "TeacherId", "TeacherName", courseoccurrence.CourseResponsibleID);
     return(View(courseoccurrence));
 }
Exemplo n.º 10
0
        //
        // GET: /CourseOccurrence/Edit/5

        public ActionResult Edit(int id = 0)
        {
            CourseOccurrence courseoccurrence = db.CourseOccurrence.Find(id);

            if (courseoccurrence == null)
            {
                return(HttpNotFound());
            }
            ViewBag.CourseID            = new SelectList(db.Course, "CourseId", "CourseCode", courseoccurrence.CourseID);
            ViewBag.CourseResponsibleID = new SelectList(db.Teacher, "TeacherId", "TeacherName", courseoccurrence.CourseResponsibleID);
            return(View(courseoccurrence));
        }
Exemplo n.º 11
0
        private int CalculateCourseHoursAllocated(CourseOccurrence courseOccurrence)
        {
            int CourseHoursTotalAllocated = 0;



            try
            {
                CourseHoursTotalAllocated += Convert.ToInt32(db.CourseTeacher.Where(x => x.CourseOccurrenceId == courseOccurrence.CourseOccurrenceID).Select(y => y.Hours).Sum());
            }
            catch { }



            return(CourseHoursTotalAllocated);
        }
Exemplo n.º 12
0
 public ActionResult AddCourseOccurrence([Bind(Include = "CourseID,DayOfWeek,StartingHour,StartingMinute,DurationMinutes")] CourseOccurrence occurrence)
 {
     try
     {
         if (ModelState.IsValid)
         {
             db.CourseOccurrences.Add(occurrence);
             db.SaveChanges();
             return(RedirectToAction("Index"));
         }
     }
     catch (RetryLimitExceededException /* dex */)
     {
         //Log the error (uncomment dex variable name and add a line here to write a log.)
         ModelState.AddModelError("", "Unable to add occurrence. Try again, and if the problem persists, see your system administrator.");
     }
     //PopulateDepartmentsDropDownList(course.DepartmentID);
     return(View(occurrence.CourseID));
 }
Exemplo n.º 13
0
        public ActionResult EditCourseResponsible(int courseID, int newcourseresponsibleId, int hours = 0)
        {
            CourseOccurrence courseoccurrence = db.CourseOccurrence.Find(courseID);

            Teacher newTeacher = db.Teacher.Where(t => t.TeacherId == newcourseresponsibleId).FirstOrDefault();

            // Create CourseTeacher instance
            string         currentYear = GetCurrentEducationalYear();
            List <Teacher> teacherList = db.CourseTeacher.Where(c => c.CourseOccurrenceId == courseID && courseoccurrence.Year == currentYear).Select(t => t.Teacher).ToList();

            // If the list of current teachers does NOT contain the course responsible, we add this teacher to the CourseTeacher table
            if (!teacherList.Contains(newTeacher))
            {
                CourseTeacher courseTeacher = new CourseTeacher()
                {
                    CourseOccurrence   = courseoccurrence,
                    CourseOccurrenceId = courseoccurrence.CourseOccurrenceID,
                    Teacher            = newTeacher,
                    TeacherId          = newTeacher.TeacherId,
                    Hours = hours
                };

                db.CourseTeacher.Add(courseTeacher);
            }
            else
            {
                CourseTeacher courseTeacher = db.CourseTeacher.Where(c => c.TeacherId == newTeacher.TeacherId && c.CourseOccurrenceId == courseoccurrence.CourseOccurrenceID && c.CourseOccurrence.Year == currentYear).FirstOrDefault();

                //Checking so that a current teacher doesn't get their hours reset if the field is not filled in
                if (hours != 0)
                {
                    courseTeacher.Hours = hours;
                }
            }

            courseoccurrence.CourseResponsibleID = newTeacher.TeacherId;
            db.Entry(courseoccurrence).State     = EntityState.Modified;
            db.SaveChanges();

            return(RedirectToAction("Details/" + courseoccurrence.CourseOccurrenceID));
        }
Exemplo n.º 14
0
        public ActionResult DeleteCourseTeacher(int cid, int tid, string removeButton)
        {
            CourseOccurrence courseOccurrence = db.CourseOccurrence.Where(c => c.CourseOccurrenceID == cid).FirstOrDefault();
            CourseTeacher    courseteacher    = db.CourseTeacher.Where(c => c.CourseOccurrenceId == cid && c.TeacherId == tid).FirstOrDefault();

            db.CourseTeacher.Remove(courseteacher);
            if (removeButton == "Remove & Notify")
            {
                // Create message
                BaseMessage baseMessage = new BaseMessage();
                baseMessage.SenderID        = GetTeacherId();
                baseMessage.RecieverID      = tid;
                baseMessage.MessageText     = "You have now been removed from the course " + courseOccurrence.Course.CourseName + ". Sorry for the inconvenience.";
                baseMessage.MessageSendDate = DateTime.Now;
                RequestApprovalMessage requestMessage = new RequestApprovalMessage();
                requestMessage.CourseOccurrenceID = cid;
                requestMessage.BaseMessage        = baseMessage;
                db.RequestApprovalMessage.Add(requestMessage);
            }


            db.SaveChanges();
            return(RedirectToAction("Details/" + courseteacher.CourseOccurrenceId));
        }
Exemplo n.º 15
0
        public static void AddCourseOccurrence(int CourseID, int DayOfWeek, int StartingHour, int StartingMinute, int DurationMinutes)
        {
            CourseOccurrence occ = getCourseOccurrence(CourseID, DayOfWeek, StartingHour, StartingMinute, DurationMinutes);

            AddCourseOccurrence(occ);
        }
        public void HoursInPeriodsInTermTest()
        {
            var courseOccurence1 = new CourseOccurrence()
            {
                Term   = Terms.Spring,
                Year   = "2017/2018",
                Period = Periods.P1
            };

            var courseOccurence2 = new CourseOccurrence()
            {
                Term   = Terms.Spring,
                Year   = "2017/2018",
                Period = Periods.P2
            };

            var courseOccurence3 = new CourseOccurrence()
            {
                Term   = Terms.Spring,
                Year   = "2017/2018",
                Period = Periods.P3
            };

            var courseOccurence4 = new CourseOccurrence()
            {
                Term   = Terms.Spring,
                Year   = "2017/2018",
                Period = Periods.P4
            };

            var courseTeacher1 = new CourseTeacher
            {
                TeacherId          = 1,
                Hours              = 100,
                CourseOccurrenceId = 1,
                CourseOccurrence   = courseOccurence1
            };

            courseOccurence1.CourseTeacher = new List <CourseTeacher> {
                courseTeacher1
            };

            var courseTeacher2 = new CourseTeacher
            {
                TeacherId          = 1,
                Hours              = 100,
                CourseOccurrenceId = 1,
                CourseOccurrence   = courseOccurence2
            };

            courseOccurence2.CourseTeacher = new List <CourseTeacher> {
                courseTeacher2
            };

            var courseTeacher3 = new CourseTeacher
            {
                TeacherId          = 1,
                Hours              = 100,
                CourseOccurrenceId = 1,
                CourseOccurrence   = courseOccurence3
            };

            courseOccurence3.CourseTeacher = new List <CourseTeacher> {
                courseTeacher3
            };

            var courseTeacher4 = new CourseTeacher
            {
                TeacherId          = 1,
                Hours              = 100,
                CourseOccurrenceId = 1,
                CourseOccurrence   = courseOccurence4
            };

            courseOccurence4.CourseTeacher = new List <CourseTeacher> {
                courseTeacher4
            };

            //arrange
            var tc      = new TeacherController();
            var teacher = new Teacher()
            {
                TeacherId          = 1,
                TeacherName        = "Teacher",
                TeacherDateOfBirth = new DateTime(1950, 01, 01),
                CourseTeacher      = new List <CourseTeacher>
                {
                    courseTeacher1,
                    courseTeacher2,
                    courseTeacher3,
                    courseTeacher4
                }
            };

            courseTeacher1.Teacher = teacher;
            courseTeacher2.Teacher = teacher;
            courseTeacher3.Teacher = teacher;
            courseTeacher4.Teacher = teacher;

            var target = new [] { 100, 100, 100, 100 };

            //act
            var result = tc.HoursInPeriodsOnTerm(teacher, Terms.Spring);

            //assert
            Assert.AreEqual(target[0], result[0]);
            Assert.AreEqual(target[1], result[1]);
            Assert.AreEqual(target[2], result[2]);
            Assert.AreEqual(target[3], result[3]);
        }
Exemplo n.º 17
0
 public int HoursInCourse(CourseOccurrence course, Teacher teacher)
 {
     return((int)course.CourseTeacher.Where(c => c.CourseOccurrence == course && c.Teacher == teacher).Select(y => y.Hours).FirstOrDefault());
 }
Exemplo n.º 18
0
        private IEnumerable <ResponseApprovalMessage> GetResponseApprovalMessage(List <CourseTeacher> teachersCourse, CourseOccurrence courseOccurrence)
        {
            List <ResponseApprovalMessage> responseApprovalMessageList = new List <ResponseApprovalMessage>();

            foreach (Teacher teacher in teachersCourse.Select(t => t.Teacher).ToList())
            {
                ResponseApprovalMessage responseToAdd = (ResponseApprovalMessage)db.ResponseApprovalMessage.Where(x => x.BaseMessage.SenderID == teacher.TeacherId && x.RequestApprovalMessage.CourseOccurrence.CourseOccurrenceID == courseOccurrence.CourseOccurrenceID).ToList().LastOrDefault();
                responseApprovalMessageList.Add(responseToAdd);
            }

            return(responseApprovalMessageList);
        }