Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        // 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));
        }
Ejemplo n.º 6
0
        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);
        }