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)); }
// // 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)); }
private int CourseAllocatedHoursFind(int courseOccurrenceId) { CourseOccurrence courseOccurrence = db.CourseOccurrence.Find(courseOccurrenceId); int CourseHoursTotalAllocated = CalculateCourseHoursAllocated(courseOccurrence); return(CourseHoursTotalAllocated); }
public ActionResult DeleteConfirmed(int id) { CourseOccurrence courseoccurrence = db.CourseOccurrence.Find(id); db.CourseOccurrence.Remove(courseoccurrence); db.SaveChanges(); return(RedirectToAction("Details/" + courseoccurrence.CourseOccurrenceID)); }
public static void AddCourseOccurrence(CourseOccurrence occ) { if (db.Courses.Any(x => x.CourseID == occ.CourseID)) { db.CourseOccurrences.Add(occ); db.SaveChanges(); } }
// // 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)); }
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); }
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)); }
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)); }
// // 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)); }
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); }
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)); }
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)); }
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)); }
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]); }
public int HoursInCourse(CourseOccurrence course, Teacher teacher) { return((int)course.CourseTeacher.Where(c => c.CourseOccurrence == course && c.Teacher == teacher).Select(y => y.Hours).FirstOrDefault()); }
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); }