public async Task <IActionResult> Dashboard(int id) { StudentDashboardViewModel model = new StudentDashboardViewModel(); model.Student = await _context.Students .Include(s => s.Enrollments) .ThenInclude(e => e.Course) .AsNoTracking() .SingleOrDefaultAsync(m => m.ID == id); ViewBag.StudentId = id; model.SuggestedCourses = await _context.Courses .Where(c => c.Enrollments.All(e => e.StudentID != id)) .OrderBy(c => c.Enrollments.Count) .Take(10) .AsNoTracking().ToListAsync(); var departmentIds = _context.Enrollments .Where(e => e.StudentID == id) .Select(e => e.Course.DepartmentID).Distinct(); model.StudentDepartments = await _context.Departments.Where(d => departmentIds.Contains(d.DepartmentID)).AsNoTracking().ToListAsync(); if (model.Student == null) { return(NotFound()); } return(View(model)); }
public IActionResult Dashboard() { List <StudentScore> stu = _context.StudentScores.Where(s => s.StudentID == "student1").ToList(); StudentDashboardViewModel testDetails = new StudentDashboardViewModel(); testDetails.StudentId = "student1"; foreach (StudentScore ts in stu) { var details = _context.Tests.Where(s => s.TestID == ts.TestID).FirstOrDefault(); TestDetails temp = new TestDetails { TestName = details.TestName, TestId = ts.TestID, Course = details.CourseID, CourseId = details.CourseID, Marks = ts.MarksScored.ToString(), MaxMarks = details.MaxMarks.ToString(), PassOrFail = ts.MarksScored >= Convert.ToInt32(details.CutOffMarks) ? "Y" : "N" }; testDetails.TestDetail.Add(temp); } return(View(testDetails)); }
public StudentDashboardViewModel GetStudentDashboardDetail(int StudentID) { List <SqlParameter> sqlParameterList = new List <SqlParameter>(); sqlParameterList.Add(new SqlParameter("StudentID", StudentID)); List <DataTableMapping> dataTableMapping = new List <DataTableMapping>(); dataTableMapping.Add(new DataTableMapping("Table", "TotalTest")); dataTableMapping.Add(new DataTableMapping("Table1", "NotStarted")); dataTableMapping.Add(new DataTableMapping("Table2", "Started")); dataTableMapping.Add(new DataTableMapping("Table3", "Completed")); dataTableMapping.Add(new DataTableMapping("Table4", "TestPercentage")); DataSet ds = DGeneric.RunSP_ReturnDataSet("sp_GetStudentDashboard", sqlParameterList, dataTableMapping); var StudentDashboardData = new StudentDashboardViewModel(); if (ds.Tables.Count > 0) { foreach (DataTable dt in ds.Tables) { if (dt.Rows.Count > 0) { string tableName = Convert.ToString(dt.TableName); switch (tableName) { case "TotalTest": StudentDashboardData.TotalTest = Convert.ToInt32(dt.Rows[0]["TotalTest"]); break; case "NotStarted": StudentDashboardData.NotStarted = Convert.ToInt32(dt.Rows[0]["NotStarted"]); break; case "Started": StudentDashboardData.Started = Convert.ToInt32(dt.Rows[0]["Started"]); break; case "Completed": StudentDashboardData.Completed = Convert.ToInt32(dt.Rows[0]["Completed"]); break; case "TestPercentage": StudentDashboardData.TestPercentage = DGeneric.BindDataList <TestPercentage>(dt).OrderBy(o => o.ResultID).ToList(); break; } } } } return(StudentDashboardData); }
// GET: UniversityUsers/Details/5 public async Task <IActionResult> Details(int?id) { if (id == null) { return(NotFound()); } var universityUser = await _context.UniversityUsers .FirstOrDefaultAsync(m => m.UniversityId == id); if (universityUser == null) { return(NotFound()); } var registrations = await _context.Registrations.Where(r => r.StudentId == id).ToListAsync(); var studentDashboardVM = new StudentDashboardViewModel(); studentDashboardVM.UniversityUser = universityUser; studentDashboardVM.BusyTimes = StudentAvailability.GetStudentsBusyTimes(id ?? 1, _context); studentDashboardVM.WorkDays = _context.WorkDays.ToList(); foreach (var registration in registrations) { var groupMembership = await _context.GroupMemberships.Where(gm => gm.StudentId == id && gm.UnitId == registration.UnitId).ToListAsync(); int?groupId = groupMembership.Count > 0 ? groupMembership.FirstOrDefault().GroupId: null; var group = groupId != null ? await _context.Groups.FindAsync(groupId):null; var allGroupMembers = groupId != null ? await _context.GroupMemberships.Where(gm => gm.GroupId == groupId).ToListAsync() : null; var unit = await _context.Units.FindAsync(registration.UnitId); //create the unit details VM var unitDetailsVM = new UnitDetailsViewModel(); unitDetailsVM.UnitId = registration.UnitId; unitDetailsVM.UnitName = unit.Name; unitDetailsVM.GroupId = group != null ? group.GroupId : 0; unitDetailsVM.GroupName = group != null ? group.Name: String.Empty; unitDetailsVM.OwnerId = group != null ? group.OwnerId: 0; unitDetailsVM.GroupMemberships = allGroupMembers; //add to students studentDashboardVM.UnitDetails.Add(unitDetailsVM); } return(View(studentDashboardVM)); }
public async Task <ActionResult> Dashboard(int id) { StudentDashboardViewModel model = new StudentDashboardViewModel(); ViewBag.StudentId = id; model.Student = await studentService.GetStudentAsync(id); if (model.Student == null) { return(new HttpNotFoundResult()); } model.SuggestedCourses = await studentService.GetStudentSuggestedCoursesAsync(id); model.StudentDepartments = await studentService.GetStudentDepartmentsAsync(id); return(View(model)); }
public IActionResult Dashboard(int studentId) { ActionResult result = null; int _role = 0; if (IsAuthenticated) { _role = CurrentUser.RoleId; if (_role == 2) { List <Course> courses = (List <Course>)_coursedb.GetStudentCourses(studentId); StudentDashboardViewModel courseList = new StudentDashboardViewModel() { DashStudentId = CurrentUser.Id, DashStudentName = CurrentUser.FirstName }; foreach (Course entry in courses) { StudentDashboardModel viewCourse = new StudentDashboardModel(_coursedb) { CourseTitle = entry.Name, CourseId = entry.Id, Image = entry.Image, StudentId = CurrentUser.Id }; courseList.DashCourseList.Add(viewCourse); } result = View(courseList); } else { result = RedirectToAction("Dashboard", "Teacher"); } } else { result = RedirectToAction("Login", "User"); } return(result); }