/// <summary> /// Instructor grade assignment individually /// </summary> /// <param name="assignmentId"></param> /// <returns></returns> public ActionResult GradeAssignment(int assignmentGradeId) { gds = new LMS_GRINDEntities1(); //Populate the page with individual assignment information StudentAssignment stuAssignment = gds.StudentAssignments.Where(x => x.assignment_grade_id == assignmentGradeId).FirstOrDefault(); int student_id = gds.StudentAssignments.Where(x => x.assignment_grade_id == assignmentGradeId).Select(x => x.student_id).FirstOrDefault(); int assignmentId = gds.StudentAssignments.Where(x => x.assignment_grade_id == assignmentGradeId).Select(x => x.assignment_id).FirstOrDefault(); Assignment thisAssignment = gds.Assignments.Where(x => x.assignment_id == assignmentId).FirstOrDefault(); String assignmentName = gds.Assignments.Where(x => x.assignment_id == assignmentId).Select(x => x.assignment_name).FirstOrDefault(); String firstName = gds.ulUsers.Where(x => x.ulUser_id == student_id).Select(x => x.first_name).FirstOrDefault(); String lastName = gds.ulUsers.Where(x => x.ulUser_id == student_id).Select(x => x.last_name).FirstOrDefault(); int courseId = gds.StudentCourses.Where(x => x.student_id == student_id).Select(x => x.course_id).FirstOrDefault(); int ic_id = gds.InstructorCourses.Where(x => x.course_id == courseId).Select(x => x.instructor_course_id).FirstOrDefault(); AssignmentList.GenerateThisStudentsSubmissionsForCourse(student_id, ic_id); ViewBag.AssignmentName = assignmentName; ViewBag.StudentName = firstName + " " + lastName; ViewBag.StudentId = stuAssignment.student_id; ViewBag.SubmissionDate = stuAssignment.submission_date; ViewBag.TextSubmission = stuAssignment.text_submission; ViewBag.FileSubmission = stuAssignment.file_submission; ViewBag.DueDate = thisAssignment.due_date; ViewBag.MaxPoints = thisAssignment.max_points; ViewBag.AssignmentGradeId = stuAssignment.assignment_grade_id; ViewBag.AssignmentId = assignmentId; ViewBag.CurrentGrade = stuAssignment.grade; ViewBag.Feedback = stuAssignment.instructor_feedback; return(View("GradeAssignmentView")); }
public static void GenerateInstructorToDoList() { InstructorToDoList = new List <ToDo>(); LMS_GRINDEntities1 gds = new LMS_GRINDEntities1(); // Get a list of top 5 assignments assigned to student // sorted by due date var query = (from a in gds.Assignments join ic in gds.InstructorCourses on a.instructor_course_id equals ic.instructor_course_id join c in gds.Courses on ic.course_id equals c.course_id where ic.instructor_id == Name.user_id where a.due_date > DateTime.Now orderby a.due_date ascending select new { CourseId = c.course_id, CourseNum = c.course_num, AssignmentName = a.assignment_name, DueDate = a.due_date, AssignmentID = a.assignment_id }).Take(5).ToList(); int i = 0; foreach (var item in query) { InstructorToDoList.Add(new ToDo()); InstructorToDoList[i].AssignmentName = item.AssignmentName; InstructorToDoList[i].CourseNum = item.CourseNum; InstructorToDoList[i].DueDate = item.DueDate; InstructorToDoList[i].AssignmentID = item.AssignmentID; //LetterGradeList.GenerateCourseLetterGrades(item.CourseId); i++; } }
public ActionResult Unregister(FormCollection form) // TODO: Validation - verify user is enrolled in class before removing { gds = new LMS_GRINDEntities1(); List <string> displayList = GetDisplayList(); var courseList = gds.Courses.ToList(); string selectedItem = form["ddCourses"].ToString(); // Item selected from dropdown int index = 0; try { // determine index of selected item index = GetSelectedIndex(displayList, selectedItem); // create a list of StudentCourses sc var sc = gds.StudentCourses.ToList(); // query sc for the course to be unregistered and store in id var course = sc.First(x => x.student_id == Name.user_id && x.course_id == courseList[index].course_id); gds.StudentCourses.Remove(course); //Save the changes gds.SaveChanges(); // update list and return to StudentView CourseCardList.GenerateStudentCourseList(); ToDoList.GenerateStudentToDoList(); return(RedirectToAction("ReturnToView", "UserAccount", null)); } catch { ViewBag.Message = "Could not unregister from course because no registration exists"; return(ViewRegistration("")); } }
public ActionResult AddRegistration(FormCollection form) { StudentCours sc = new StudentCours(); List <string> displayList = GetDisplayList(); gds = new LMS_GRINDEntities1(); string selectedItem = form["ddCourses"].ToString(); var courseList = gds.Courses.ToList(); int index = GetSelectedIndex(displayList, selectedItem); sc.course_id = courseList[index].course_id; sc.student_id = Name.user_id; // check database for specified course id and student id var ret = (from s in gds.StudentCourses where s.student_id == Name.user_id where s.course_id == sc.course_id select s).Count(); if (ret > 0) { ViewBag.Message = "Could not register for course. You are already registered."; return(ViewRegistration("")); } else { gds.StudentCourses.Add(sc); gds.SaveChanges(); CourseCardList.GenerateStudentCourseList(); ToDoList.GenerateStudentToDoList(); return(RedirectToAction("ReturnToView", "UserAccount", null)); } }
/// <summary> /// Returns a list of strings used for registration dropdown /// </summary> /// <returns></returns> public List <string> GetDisplayList() { List <string> displayList = new List <string>(); gds = new LMS_GRINDEntities1(); var courseList = gds.Courses.ToList(); string sStart; string sEnd; DateTime dtStartTime; DateTime dtEndTime; foreach (var course in courseList) { if (course.course_name != null) { // convert time format dtStartTime = DateTime.Today.Add((TimeSpan)course.start_time); sStart = dtStartTime.ToString("hh:mm tt"); dtEndTime = DateTime.Today.Add((TimeSpan)course.end_time); sEnd = dtEndTime.ToString("hh:mm tt"); displayList.Add(course.course_num + " " + course.course_name + " " + sStart + " - " + sEnd + " " + course.days_of_week); } } return(displayList); }
public ActionResult PopUpItem(DateTime due_date) { gds = new LMS_GRINDEntities1(); return(PartialView("Details", gds.Assignments.Find(due_date))); //Assignments might throw an error //it does on my editor //return PartialView("Details", entities.Customers.Find(customerId)); }
public ActionResult SubmitGradeAssignment(int assignmentGradeId, int grade, string instructorFeedback) { gds = new LMS_GRINDEntities1(); //Save grade to database StudentAssignment stuAssignment = gds.StudentAssignments.Where(x => x.assignment_grade_id == assignmentGradeId).FirstOrDefault(); int?id = gds.StudentAssignments.Where(x => x.assignment_grade_id == assignmentGradeId).Select(x => x.assignment_id).FirstOrDefault(); int ic_id = gds.Assignments.Where(x => x.assignment_id == id).Select(x => x.instructor_course_id).FirstOrDefault(); try { stuAssignment.grade = grade; stuAssignment.instructor_feedback = instructorFeedback; gds.SaveChanges(); AssignmentList.GenerateThisStudentsSubmissionsForCourse(stuAssignment.student_id, ic_id); } catch (System.Data.Entity.Validation.DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { System.Console.WriteLine("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } } catch { return(View("GradeAssignmentView")); } return(RedirectToAction("InstructorGrading", new { assignmentId = id })); }
/// <summary> /// Display course details for student /// </summary> /// <param name="id"></param> /// <returns>Display details of the selected course</returns> public ActionResult StudentCourseDetail(int id) { gds = new LMS_GRINDEntities1(); Cours course = gds.Courses.Where(x => x.course_id == id).FirstOrDefault(); int ic_id = gds.InstructorCourses.Where(x => x.course_id == id).Select(x => x.instructor_course_id).FirstOrDefault(); Department department = gds.Departments.Where(x => x.dept_id == course.dept_id).FirstOrDefault(); int instructorId = gds.InstructorCourses.Where(x => x.instructor_course_id == ic_id).Select(x => x.instructor_id).FirstOrDefault(); String instructorFirstName = gds.ulUsers.Where(x => x.ulUser_id == instructorId).Select(x => x.first_name).FirstOrDefault(); String instructorLastName = gds.ulUsers.Where(x => x.ulUser_id == instructorId).Select(x => x.last_name).FirstOrDefault(); CourseCardList.GenerateStudentCourseList(); AssignmentList.GenerateStudentAssignmentList(id); AssignmentList.GenerateThisStudentsSubmissions(Name.user_id); AssignmentList.GenerateThisStudentsSubmissionsForCourse(Name.user_id, ic_id); StudentCours studentCours = gds.StudentCourses.Where(x => (x.course_id == course.course_id) && (x.student_id == Name.user_id)).FirstOrDefault(); // Calculate overall points int maxPoints = 0; int points = 0; double?gradePoints = 0; if (AssignmentList.StudentAssignments.Any()) { foreach (var assignment in AssignmentList.StudentAssignments) { AssignmentList.GenerateThisStudentsSubmissionForAssignment(assignment.AssignmentId); if (AssignmentList.StudentAssignmentSubmission.isGraded) { points += (int)AssignmentList.StudentAssignmentSubmission.Grade; maxPoints += (int)assignment.MaxPoints; } } ViewBag.points = points; ViewBag.maxPoints = maxPoints; // Get letter grade gradePoints = ((double)points / maxPoints) * 100; // Display 2 decimal places gradePoints = Math.Truncate(100 * (double)gradePoints) / 100; if (gradePoints >= 0) { ViewBag.gradePercentage = gradePoints + "%"; // Display percentage } else { ViewBag.gradePercentage = " "; } } AssignmentList.GenerateThisStudentsSubmissionsForCourse(Name.user_id, ic_id); ViewBag.letterGrade = studentCours.letter_grade; // Display letter grade ViewBag.selectedCourse = course; ViewBag.courseDepartment = department; ViewBag.InstructorName = instructorFirstName + " " + instructorLastName; return(View("StudentCourseDetailView")); }
public ActionResult SubmitAssignment(string text_submission, HttpPostedFileBase assignment_file) { gds = new LMS_GRINDEntities1(); StudentAssignment sa = new StudentAssignment(); if (AssignmentList.AssignmentItem.SubmissionType == "File") { if (assignment_file != null) { var instructor = (from ic in gds.InstructorCourses where ic.instructor_course_id == AssignmentList.AssignmentItem.InstructorCourseId select ic).First(); var instructor_l_name = (from i in gds.ulUsers where i.ulUser_id == instructor.instructor_id select i).First(); string course_directory = instructor_l_name.last_name + "_" + AssignmentList.AssignmentItem.CourseNum; string student_directory = Name.first_name + Name.last_name; string file_name = Path.GetFileNameWithoutExtension(assignment_file.FileName) + DateTime.Now.ToString("yymmssfff") + Path.GetExtension(assignment_file.FileName); // Set file path to the course directory within the Assignment Submissions folder string file_path = Path.Combine(Server.MapPath("~/AssignmentSubmissions/"), file_name); sa.file_submission = "~/AssignmentSubmissions/" + file_name; sa.assignment_id = AssignmentList.AssignmentItem.AssignmentId; sa.student_id = Name.user_id; sa.submission_date = DateTime.Now; assignment_file.SaveAs(file_path); gds.StudentAssignments.Add(sa); gds.SaveChanges(); ViewBag.IsSubmitted = true; } else { ViewBag.IsSubmitted = false; } } else // TEXT SUBMISSION { sa.text_submission = text_submission; sa.assignment_id = AssignmentList.AssignmentItem.AssignmentId; sa.student_id = Name.user_id; sa.submission_date = DateTime.Now; gds.StudentAssignments.Add(sa); gds.SaveChanges(); ViewBag.IsSubmitted = true; } ToDoList.GenerateStudentToDoList(); return(View("StudentAssignmentView")); }
public static void GenerateInstructorCourseList() { CourseList = new List <CourseCard>(); LMS_GRINDEntities1 gds = new LMS_GRINDEntities1(); string sStart; string sEnd; DateTime dtStartTime; DateTime dtEndTime; int i = 0; //Select all course IDs associated with logged in user var query = (from c in gds.Courses join ic in gds.InstructorCourses on c.course_id equals ic.course_id join u in gds.ulUsers on ic.instructor_id equals u.ulUser_id join iid in gds.InstructorCourses on c.course_id equals iid.course_id where iid.instructor_id == Name.user_id select new { CourseId = c.course_id, CourseName = c.course_name, CourseNum = c.course_num, InstructorFirstName = u.first_name, InstructorLastName = u.last_name, Building = c.building, RoomNumber = c.room_no, StartTime = c.start_time, EndTime = c.end_time, Days = c.days_of_week }).ToList(); foreach (var item in query) { // convert time format dtStartTime = DateTime.Today.Add((TimeSpan)item.StartTime); sStart = dtStartTime.ToString("hh:mm tt"); dtEndTime = DateTime.Today.Add((TimeSpan)item.EndTime); sEnd = dtEndTime.ToString("hh:mm tt"); CourseList.Add(new CourseCard()); CourseList[i].CourseId = item.CourseId; CourseList[i].CourseName = item.CourseName; CourseList[i].CourseNum = item.CourseNum; CourseList[i].InstructorFirstName = item.InstructorFirstName; CourseList[i].InstructorLastName = item.InstructorLastName; CourseList[i].Building = item.Building; CourseList[i].RoomNumber = (int)item.RoomNumber; CourseList[i].StartTime = sStart; CourseList[i].EndTime = sEnd; CourseList[i].Days = item.Days; i++; } }
public ActionResult CourseList() { LMS_GRINDEntities1 gds = new LMS_GRINDEntities1(); var getCourseList = gds.Courses.ToList(); SelectList list = new SelectList(getCourseList, "course_name", "days_of_week"); ViewBag.courselistname = list; return(View()); }
public ActionResult Verify(User u) { //Encrypt password functionality byte[] data = System.Text.Encoding.ASCII.GetBytes(u.Password); data = new System.Security.Cryptography.SHA256Managed().ComputeHash(data); String hash = System.Text.Encoding.ASCII.GetString(data); gds = new LMS_GRINDEntities1(); var query = gds.ulUsers.Where(x => x.email_address == u.Email && x.user_password == hash); if (query.Any()) { foreach (ulUser user in query) { // Set static name variables Name.user_id = user.ulUser_id; Name.first_name = user.first_name; Name.last_name = user.last_name; Name.role = user.role; Name.email = user.email_address; Name.birthdate = user.birthdate; Name.streetAddress = user.street_address; Name.phoneNum = user.phone_num; Name.bio = user.bio; Name.link1 = user.link1; Name.link2 = user.link2; Name.link3 = user.link3; Name.profileImage = user.profileImage; Name.linkTitle1 = user.linkTitle1; Name.linkTitle2 = user.linkTitle2; Name.linkTitle3 = user.linkTitle3; } if (Name.role == "Student") { ViewBag.ErrorMessage = ""; ToDoList.GenerateStudentToDoList(); CourseCardList.GenerateStudentCourseList(); return(View("StudentView")); } else { ViewBag.ErrorMessage = ""; ToDoList.GenerateInstructorToDoList(); CourseCardList.GenerateInstructorCourseList(); return(View("InstructorView")); } } else { ViewBag.ErrorMessage = "Incorrect user credentials or account not yet created"; return(View("Login")); } }
/// <summary> /// Returns an string of numerical days of the week /// Ex: MTW --> "[1,3,5]" /// for a given course /// </summary> /// <param name="id"></param> /// <returns></returns> public string GetDaysOfWeek(int id) { string s; using (LMS_GRINDEntities1 gds = new LMS_GRINDEntities1()) { var d = (from c in gds.Courses where c.course_id == id select new { days = c.days_of_week }).First(); s = "["; int i = 0; foreach (char c in d.days) { switch (c) { case 'M': s += "1"; break; case 'T': s += "2"; break; case 'W': s += "3"; break; case 'R': s += "4"; break; case 'F': s += "5"; break; default: break; } i++; // add comma, else add closing bracket if (!(s.Length - 2 == d.days.Length)) { s += ","; } } s += "]"; } return(s); }
public static void GenerateStudentAssignmentGradePerformance(int assignmentId) { LMS_GRINDEntities1 gds = new LMS_GRINDEntities1(); LetterGradeItems = new List <LetterGradeItem>(); List <int> PointList = new List <int>(); HighScore = new int(); LowScore = new int(); var query = (from a in gds.Assignments join sa in gds.StudentAssignments on a.assignment_id equals sa.assignment_id where a.assignment_id == assignmentId select new { Grade = sa.grade }).ToList(); foreach (var item in query) { if (item.Grade != null) { PointList.Add((int)item.Grade); } else { return; } } //Calculate chart values if (query.Count() == 0) { HighScore = null; LowScore = null; return; } HighScore = PointList[0]; LowScore = PointList[0]; for (int j = 0; j < PointList.Count; j++) { if (PointList[j] > HighScore) { HighScore = PointList[j]; } else if (PointList[j] < LowScore) { LowScore = PointList[j]; } } }
public ActionResult InstructorAssignment(int id) { gds = new LMS_GRINDEntities1(); var courseNum = gds.Courses.Where(x => x.course_id == id).Select(x => x.course_num).FirstOrDefault(); var courseName = gds.Courses.Where(x => x.course_id == id).Select(x => x.course_name).FirstOrDefault(); CourseCardList.GenerateInstructorCourseList(); AssignmentList.GenerateInstructorAssignmentList(id); @ViewBag.CourseId = id; @ViewBag.CourseNum = courseNum; @ViewBag.CourseName = courseName; return(View("InstructorAssignmentView")); }
/// <summary> /// Returns a json result of assignment events /// </summary> /// <returns></returns> public JsonResult GetAssignmentEvents() { using (LMS_GRINDEntities1 gds = new LMS_GRINDEntities1()) { JsonResult jResult; if (Name.role == "Instructor") { var events = (from a in gds.Assignments join ic in gds.InstructorCourses on a.instructor_course_id equals ic.instructor_course_id join c in gds.Courses on ic.course_id equals c.course_id where ic.instructor_id == Name.user_id select new { title = a.assignment_name + " - " + c.course_num, description = c.course_num, start = a.due_date, assign_id = a.assignment_id, url = "Grading/GoToInstructorGrading/" + a.assignment_id.ToString() }).ToList(); jResult = new JsonResult { Data = events, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; } else // - NAME.ROLE == STUDENT { var events = (from a in gds.Assignments join ic in gds.InstructorCourses on a.instructor_course_id equals ic.instructor_course_id join sc in gds.StudentCourses on ic.course_id equals sc.course_id join c in gds.Courses on ic.course_id equals c.course_id where sc.student_id == Name.user_id select new { title = a.assignment_name + " - " + c.course_num, description = c.course_num, start = a.due_date, assign_id = a.assignment_id, url = "assignment/StudentAssignment/" + a.assignment_id.ToString() }).ToList(); jResult = new JsonResult { Data = events, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; } return(jResult); } }
//This method returns all of the submissions by a particular student with the parameter id //Generates a list of StudentAssignmentSubmissionItems public static void GenerateThisStudentsSubmissions(int?studentId) { ThisStudentsSubmissions = new List <StudentAssignmentSubmissionItem>(); LMS_GRINDEntities1 gds = new LMS_GRINDEntities1(); // IndividualStudentTotalPoints = new int(); //IndividualStudentMaxPoints = new int(); var query = (from a in gds.StudentAssignments join assign in gds.Assignments on a.assignment_id equals assign.assignment_id where a.student_id == studentId select new { AssignmentGradeId = a.assignment_grade_id, AssignmentId = a.assignment_id, StudentId = a.student_id, Grade = a.grade, InstructorFeedback = a.instructor_feedback, SubmissionDate = a.submission_date, TextSubmission = a.text_submission, FileSubmission = a.file_submission, MaxPoints = assign.max_points }).ToList(); int i = 0; foreach (var item in query) { ThisStudentsSubmissions.Add(new StudentAssignmentSubmissionItem()); ThisStudentsSubmissions[i].AssignmentGradeId = item.AssignmentGradeId; ThisStudentsSubmissions[i].AssignmentId = item.AssignmentId; ThisStudentsSubmissions[i].StudentId = item.StudentId; ThisStudentsSubmissions[i].Grade = item.Grade; ThisStudentsSubmissions[i].MaxPoints = (int)item.MaxPoints; ThisStudentsSubmissions[i].SubmissionDate = (DateTime)item.SubmissionDate; ThisStudentsSubmissions[i].TextSubmission = item.TextSubmission; ThisStudentsSubmissions[i].FileSubmission = item.FileSubmission; ThisStudentsSubmissions[i].InstructorFeedback = item.InstructorFeedback; if (item.Grade != null) { ThisStudentsSubmissions[i].isGraded = true; } else { ThisStudentsSubmissions[i].isGraded = false; } i++; } }
public ActionResult InstructorCourseInformation(int id) { gds = new LMS_GRINDEntities1(); Cours course = gds.Courses.Where(x => x.course_id == id).FirstOrDefault(); int ic_id = gds.InstructorCourses.Where(x => x.course_id == id).Select(x => x.instructor_course_id).FirstOrDefault(); Department department = gds.Departments.Where(x => x.dept_id == course.dept_id).FirstOrDefault(); int instructorId = gds.InstructorCourses.Where(x => x.instructor_course_id == ic_id).Select(x => x.instructor_id).FirstOrDefault(); String instructorFirstName = gds.ulUsers.Where(x => x.ulUser_id == instructorId).Select(x => x.first_name).FirstOrDefault(); String instructorLastName = gds.ulUsers.Where(x => x.ulUser_id == instructorId).Select(x => x.last_name).FirstOrDefault(); ViewBag.selectedCourse = course; ViewBag.courseDepartment = department; ViewBag.InstructorName = instructorFirstName + " " + instructorLastName; return(View("InstructorCourseInformationView")); }
/// <summary> /// Display course List for dropdown menu for instructor add assignment /// </summary> /// <returns></returns> public List <Cours> GetCourseList() { List <Cours> displayCourseList = new List <Cours>(); gds = new LMS_GRINDEntities1(); List <InstructorCours> instructorCourses = gds.InstructorCourses.Where(x => x.instructor_id == Name.user_id).ToList(); foreach (var course in instructorCourses) { Cours insCourse = gds.Courses.Where(x => x.course_id == course.course_id).FirstOrDefault(); displayCourseList.Add(insCourse); } return(displayCourseList); }
public ActionResult InstructorCview(string search) { gds = new LMS_GRINDEntities1(); var departments = (from d in gds.Departments // select all departments select d); if (!String.IsNullOrEmpty(search)) { departments = departments.Where(x => x.dept_name.Contains(search)); // filter based on search } CourseCardList.GenerateInstructorCourseList(); return(View("InstructorCview", departments.ToList().OrderBy(x => x.dept_name))); }
public void InstructorCanCreateCourseTest() { LMS_GRINDEntities1 gds = new LMS_GRINDEntities1(); // Preparation // Start with the known instructor id then find out how many courses this instructor is teaching right now var courses = (from x in gds.Courses join ic in gds.InstructorCourses on x.course_id equals ic.course_id where ic.instructor_id == 1012 select x).ToList(); // Call that course number N int N = courses.Count(); // Create a new course for this instructor using the application code from test Cours c = new Cours(); c.course_num = "MATH 1010"; c.course_name = "Intermediate Algebra"; c.course_desc = "Prepare to be enlightened"; c.building = "Math Hub"; c.days_of_week = "MTWF"; c.dept_id = 5; c.start_time = new TimeSpan(9, 30, 0); c.end_time = new TimeSpan(10, 20, 0); c.num_credits = 3; c.max_capacity = 30; c.room_no = 112; CoursesAndRegistrationController controller = new CoursesAndRegistrationController(); controller.SaveCourse(c.course_num, c.course_name, c.course_desc, (int)c.num_credits, (int)c.max_capacity, c.building, (int)c.room_no, c.dept_id, "M", "T", "W", "", "F", (TimeSpan)c.start_time, (TimeSpan)c.end_time); // Again, Find out how many courses this instructor is teaching now var courses2 = (from x in gds.Courses join ic in gds.InstructorCourses on x.course_id equals ic.course_id where ic.instructor_id == 1012 select x).ToList(); int N2 = courses2.Count(); int expected = N + 1; // Expecting N + 1 // (Started with N courses and added 1 course) Assert.AreEqual(N2, expected); }
/// <summary> /// Generates a list of courses and filters based on /// search criteria /// </summary> /// <param name="search"></param> /// <returns>RegistrationView and a list of courses</returns> public ActionResult ViewRegistration(string search) { // for dropdown list on Registration View gds = new LMS_GRINDEntities1(); var courses = (from c in gds.Courses select c); if (!String.IsNullOrEmpty(search)) { courses = courses.Where(x => x.course_num.Contains(search) || x.course_name.Contains(search)); } return(View("RegistrationView", courses.ToList())); }
/// <summary> /// HTML controller method /// </summary> /// <param name="id"></param> /// <returns></returns> public ActionResult EditCourse(int id) { gds = new LMS_GRINDEntities1(); Cours course = gds.Courses.Where(x => x.course_id == id).FirstOrDefault(); int department = gds.Departments.Where(x => x.dept_id == course.dept_id).Select(x => x.dept_id).FirstOrDefault(); string daysOfWeek = gds.Courses.Where(x => x.course_id == id).Select(x => x.days_of_week).FirstOrDefault(); ViewBag.selectedCourse = course; bool[] selectedDept = new bool[9]; for (int i = 0; i < 9; i++) { if (i == department) { selectedDept[i] = true; } else { selectedDept[i] = false; } } ViewBag.deptArray = selectedDept; if (daysOfWeek.Contains("M")) { ViewBag.monday = true; } if (daysOfWeek.Contains("T")) { ViewBag.tuesday = true; } if (daysOfWeek.Contains("W")) { ViewBag.wednesday = true; } if (daysOfWeek.Contains("R")) { ViewBag.thursday = true; } if (daysOfWeek.Contains("F")) { ViewBag.friday = true; } return(View("EditCourseView")); }
public ActionResult UpdateCourse(int id, string courseNum, string courseName, string courseDesc, int courseCredits, int maxCapacity, string courseLocation, int courseRoom, int departments, string monday, string tuesday, string wednesday, string thursday, string friday, TimeSpan startTime, TimeSpan endTime) { gds = new LMS_GRINDEntities1(); Cours course = gds.Courses.Where(x => x.course_id == id).FirstOrDefault(); try { course.course_name = courseName; course.course_desc = courseDesc; course.course_num = courseNum; course.max_capacity = maxCapacity; course.dept_id = departments; course.num_credits = courseCredits; course.days_of_week = monday + tuesday + wednesday + thursday + friday; course.start_time = startTime; course.end_time = endTime; course.building = courseLocation; course.room_no = courseRoom; ViewBag.selectedCourse = course; Department department = gds.Departments.Where(x => x.dept_id == course.dept_id).FirstOrDefault(); ViewBag.courseDepartment = department; gds.SaveChanges(); CourseCardList.GenerateInstructorCourseList(); } catch (System.Data.Entity.Validation.DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { System.Console.WriteLine("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } } catch { return(View("EditCourseView")); } return(View("InstructorCourseInformationView")); //return View("InstructorCview"); }
public ActionResult SaveAssignment(string assignmentName, string assignmentDesc, int maxPoints, DateTime dueDate, string assignmentType, string submissionType) { var courseId = int.Parse(Request.Form["CourseId"]); var courseNum = Request.Form["CourseNum"]; var courseName = Request.Form["CourseName"]; gds = new LMS_GRINDEntities1(); Assignment newAssignment = new Assignment(); var query = from course in gds.Courses join insCourse in gds.InstructorCourses on course.course_id equals insCourse.course_id where course.course_id == courseId select new { instructorCourseID = insCourse.instructor_course_id }; foreach (var insCourse in query) { newAssignment.instructor_course_id = insCourse.instructorCourseID; } newAssignment.assignment_name = assignmentName; newAssignment.assignment_desc = assignmentDesc; newAssignment.max_points = maxPoints; newAssignment.due_date = dueDate; newAssignment.assignment_type = assignmentType; newAssignment.submission_type = submissionType; gds.Assignments.Add(newAssignment); gds.SaveChanges(); AssignmentList.GenerateInstructorAssignmentList(courseId); CourseCardList.GenerateInstructorCourseList(); @ViewBag.CourseNum = courseNum; @ViewBag.CourseName = courseName; @ViewBag.CourseId = courseId; ToDoList.GenerateInstructorToDoList(); return(RedirectToAction("InstructorCourseDetail", "CoursesAndRegistration", new { id = courseId })); }
public ActionResult AddAssignment(int id) { List <Cours> displayCourseList = GetCourseList(); // Display instructor's course list gds = new LMS_GRINDEntities1(); var courseNum = gds.Courses.Where(x => x.course_id == id).Select(x => x.course_num).FirstOrDefault(); var courseName = gds.Courses.Where(x => x.course_id == id).Select(x => x.course_name).FirstOrDefault(); var courseId = gds.Courses.Where(x => x.course_id == id).Select(x => x.course_id).FirstOrDefault(); @ViewBag.courseList = displayCourseList; @ViewBag.CourseNum = courseNum; @ViewBag.CourseName = courseName; @ViewBag.CourseId = courseId; ToDoList.GenerateInstructorToDoList(); return(View("AddAssignmentView")); }
/// <summary> /// Returns a json result of course meeting events /// </summary> /// <returns></returns> public JsonResult GetMeetingEvents() { using (LMS_GRINDEntities1 gds = new LMS_GRINDEntities1()) { JsonResult jResult; List <Meeting> m; if (Name.role == "Instructor") { m = new List <Meeting>(); int i = 0; foreach (var e in CourseCardList.CourseList) { // copy event into a list of Meeting objects m.Add(new Meeting()); m[i].days = GetDaysOfWeek(e.CourseId); m[i].title = e.StartTime + " " + e.CourseNum + " - " + e.Building + ", Room: " + e.RoomNumber; m[i].start = e.Start; m[i].end = e.End; i++; } } else // - NAME.ROLE == STUDENT { m = new List <Meeting>(); int i = 0; foreach (var e in CourseCardList.CourseList) { // copy event into a list of Meeting objects m.Add(new Meeting()); m[i].days = GetDaysOfWeek(e.CourseId); m[i].title = e.StartTime + " " + e.CourseNum + " - " + e.Building + ", Room: " + e.RoomNumber; m[i].start = e.Start; m[i].end = e.End; i++; } } jResult = new JsonResult { Data = m, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; return(jResult); } }
//This method generates the information of a specific assignment with the parameter assignmentId //Generates a list assignmentItem /// <summary> /// Gets a list Assgnment Item by assingment_id /// </summary> /// <param name="id"></param> public static void GenerateAssignmentItem(int?AssignmentId) { AssignmentItemList = new List <AssignmentItem>(); LMS_GRINDEntities1 gds = new LMS_GRINDEntities1(); var query = (from a in gds.Assignments join ic in gds.InstructorCourses on a.instructor_course_id equals ic.instructor_course_id join sc in gds.StudentCourses on ic.course_id equals sc.course_id join c in gds.Courses on ic.course_id equals c.course_id where a.assignment_id == AssignmentId select new { AssignmentId = a.assignment_id, InstructorCourseId = a.instructor_course_id, AssignmentName = a.assignment_name, AssignmentDesc = a.assignment_desc, AssignmentType = a.assignment_type, SubmissionType = a.submission_type, MaxPoints = a.max_points, DueDate = a.due_date, CourseId = c.course_id, CourseNum = c.course_num, CourseName = c.course_name, StudentId = sc.student_id }).ToList(); int i = 0; foreach (var item in query) { AssignmentItemList.Add(new AssignmentItem()); AssignmentItemList[i].AssignmentId = item.AssignmentId; AssignmentItemList[i].AssignmentDesc = item.AssignmentDesc; AssignmentItemList[i].InstructorCourseId = item.InstructorCourseId; AssignmentItemList[i].AssignmentName = item.AssignmentName; AssignmentItemList[i].AssignmentType = item.AssignmentType; AssignmentItemList[i].MaxPoints = item.MaxPoints; AssignmentItemList[i].DueDate = item.DueDate; AssignmentItemList[i].CourseId = item.CourseId; AssignmentItemList[i].CourseNum = item.CourseNum; AssignmentItemList[i].CourseName = item.CourseName; AssignmentItemList[i].SubmissionType = item.SubmissionType; i++; } }
//This method generates all of the student assignments for a particular course //Generates a list of StudentAssignmentItems (targeted for student views) public static void GenerateStudentAssignmentList(int?id) { StudentAssignments = new List <StudentAssignmentItem>(); LMS_GRINDEntities1 gds = new LMS_GRINDEntities1(); var query = (from a in gds.Assignments join ic in gds.InstructorCourses on a.instructor_course_id equals ic.instructor_course_id join sc in gds.StudentCourses on ic.course_id equals sc.course_id join c in gds.Courses on ic.course_id equals c.course_id where c.course_id == id && sc.student_id == Name.user_id //Name.user_id is the student, so find matching student_id select new { AssignmentId = a.assignment_id, InstructorCourseId = a.instructor_course_id, AssignmentName = a.assignment_name, AssignmentDesc = a.assignment_desc, AssignmentType = a.assignment_type, MaxPoints = a.max_points, DueDate = a.due_date, CourseId = c.course_id, CourseNum = c.course_num, CourseName = c.course_name, StudentId = sc.student_id }).ToList(); int i = 0; foreach (var item in query) { StudentAssignments.Add(new StudentAssignmentItem()); StudentAssignments[i].AssignmentId = item.AssignmentId; StudentAssignments[i].AssignmentDesc = item.AssignmentDesc; StudentAssignments[i].InstructorCourseId = item.InstructorCourseId; StudentAssignments[i].AssignmentName = item.AssignmentName; StudentAssignments[i].AssignmentType = item.AssignmentType; StudentAssignments[i].MaxPoints = item.MaxPoints; StudentAssignments[i].DueDate = item.DueDate; StudentAssignments[i].CourseId = item.CourseId; StudentAssignments[i].CourseNum = item.CourseNum; StudentAssignments[i].CourseName = item.CourseName; StudentAssignments[i].StudentId = item.StudentId; i++; } }
//This method generates all of the submissions for a particular assignment with the parameter id //Generates a list of StudentAssignmentSubmissionItems public static void GenerateAllSubmissions(int?assignmentId) { AllStudentSubmissions = new List <StudentAssignmentSubmissionItem>(); LMS_GRINDEntities1 gds = new LMS_GRINDEntities1(); var query = (from sa in gds.StudentAssignments join u in gds.ulUsers on sa.student_id equals u.ulUser_id join a in gds.Assignments on sa.assignment_id equals a.assignment_id where sa.assignment_id == assignmentId select new { AssignmentGradeId = sa.assignment_grade_id, AssignmentId = sa.assignment_id, StudentId = sa.student_id, FirstName = u.first_name, LastName = u.last_name, Grade = sa.grade, InstructorFeedback = sa.instructor_feedback, SubmissionDate = sa.submission_date, TextSubmission = sa.text_submission, FileSubmission = sa.file_submission }).ToList(); int i = 0; foreach (var item in query) { AllStudentSubmissions.Add(new StudentAssignmentSubmissionItem()); AllStudentSubmissions[i].AssignmentGradeId = item.AssignmentGradeId; AllStudentSubmissions[i].AssignmentId = item.AssignmentId; AllStudentSubmissions[i].StudentId = item.StudentId; AllStudentSubmissions[i].Grade = item.Grade; AllStudentSubmissions[i].SubmissionDate = (DateTime)item.SubmissionDate; AllStudentSubmissions[i].TextSubmission = item.TextSubmission; AllStudentSubmissions[i].FileSubmission = item.FileSubmission; AllStudentSubmissions[i].FirstName = item.FirstName; AllStudentSubmissions[i].LastName = item.LastName; AllStudentSubmissions[i].InstructorFeedback = item.InstructorFeedback; i++; } }