コード例 #1
0
        public ActionResult LectureNotes(int Id = 0)
        {
            List <LectureNoteItem> lectureNotes = new List <LectureNoteItem>();

            using (EastWoodEntities db = new EastWoodEntities())
            {
                List <LectureNote> items = new List <LectureNote>();
                if (Id == 0)
                {
                    items = db.LectureNotes.ToList();
                }
                else
                {
                    items = db.LectureNotes.Where(w => w.SubjectId == Id).ToList();
                }
                foreach (var item in items)
                {
                    LectureNoteItem note = new LectureNoteItem();
                    note.LectureNote = item;
                    note.Subject     = item.Subject;
                    note.Attachments = db.Attachments.
                                       Where(w => w.AttachmentReferenceId == item.LectureNoteid && w.AttachmentReferenceType == AttachmentReferenceTypes.LECTURE_NOTE)
                                       .ToList();
                    lectureNotes.Add(note);
                }
            }
            ViewBag.SubjectId = Id;
            return(View(lectureNotes));
        }
        protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            bool authorize = false;

            try
            {
                int userId = int.Parse(Convert.ToString(httpContext.Session["UserId"]));
                if (userId != 0)
                {
                    using (var context = new EastWoodEntities())
                    {
                        var userRole = (from u in context.Users
                                        join r in context.Roles on u.RoleId equals r.RoleId
                                        where u.UserId == userId
                                        select new
                        {
                            r.RoleName
                        }).FirstOrDefault();
                        foreach (var role in allowedroles)
                        {
                            if (role == userRole.RoleName)
                            {
                                return(true);
                            }
                        }
                    }
                }
            }
            catch { };

            return(authorize);
        }
コード例 #3
0
        public ActionResult NewCourse(int Id = 0)
        {
            List <CoordinatorDetails> coordinators = new List <CoordinatorDetails>();
            EditCourseItem            viewModel    = new EditCourseItem();

            using (EastWoodEntities db = new EastWoodEntities())
            {
                coordinators = db.Coordinators
                               .Join(
                    db.Users,
                    c => c.UserId,
                    u => u.UserId,
                    (c, u) => new CoordinatorDetails
                {
                    UserId           = u.UserId,
                    UserBio          = u.UserBio,
                    UserContactNo    = u.UserContactNo,
                    UserEmail        = u.UserEmail,
                    UserFirstName    = u.UserFirstName,
                    UserLastLoggedIn = u.UserLastLoggedIn,
                    UserLastName     = u.UserLastName,
                    UserPassword     = u.UserPassword,
                    CoordinatorId    = c.CoordinatorId,
                    RoleId           = u.RoleId
                }

                    ).ToList();

                if (Id != 0)
                {
                    viewModel = db.Courses
                                .Where(w => w.CourseId == Id)
                                .Join(
                        db.Coordinators,
                        course => course.CoordinatorId,
                        coordinator => coordinator.CoordinatorId,
                        (course, coordinator) => new EditCourseItem
                    {
                        CourseName        = course.CourseName,
                        CourseId          = course.CourseId,
                        CourseDescription = course.CourseDescription,
                        CourseEndsOn      = course.CourseEndsOn,
                        CourseStartsOn    = course.CourseStartsOn,
                        CoordinatorId     = course.CoordinatorId
                    })
                                .FirstOrDefault();
                }
            }
            viewModel.Coordinators = coordinators;
            // New
            if (Id == 0)
            {
                return(View(viewModel));
            }
            // Edit
            else
            {
                return(View(viewModel));
            }
        }
コード例 #4
0
        public ActionResult ViewAssignment(int Id = 0, string Message = "")
        {
            int userId = int.Parse(Session["UserId"].ToString());

            ViewBag.Message = Message;
            if (Id == 0)
            {
                return(Redirect("/Student/Assignments"));
            }
            else
            {
                using (EastWoodEntities db = new EastWoodEntities())
                {
                    int studentId = db.Students.Where(w => w.UserId == userId).Select(s => s.StudentId).FirstOrDefault();
                    if (studentId == 0)
                    {
                        return(Redirect("/"));
                    }
                    var assignment = db.Assignments.Where(w => w.AssignmentId == Id).FirstOrDefault();
                    assignment.Subject           = assignment.Subject;
                    assignment.AssignmentUploads = assignment.AssignmentUploads.Where(w => w.StudentId == studentId).ToList();
                    foreach (var upload in assignment.AssignmentUploads)
                    {
                        upload.Attachments = db.Attachments.
                                             Where(w => w.AttachmentReferenceId == upload.AssignmentUploadId && w.AttachmentReferenceType == AttachmentReferenceTypes.ASSIGNMENT_UPLOADS)
                                             .ToList();
                    }
                    assignment.Attachments = db.Attachments.
                                             Where(w => w.AttachmentReferenceId == assignment.AssignmentId && w.AttachmentReferenceType == AttachmentReferenceTypes.ASSIGNMENT)
                                             .ToList();
                    return(View(assignment));
                }
            }
        }
コード例 #5
0
        public ActionResult AssignmentUploads(int Id = 0)
        {
            List <AssignmentUpload> assignmentUploads = new List <AssignmentUpload>();

            using (EastWoodEntities db = new EastWoodEntities())
            {
                if (Id == 0)
                {
                    assignmentUploads = db.AssignmentUploads.ToList();
                }
                else
                {
                    assignmentUploads = db.AssignmentUploads.Where(w => w.AssignmentId == Id).ToList();
                }
                foreach (var item in assignmentUploads)
                {
                    item.Student.User = item.Student.User;
                    item.Assignment   = item.Assignment;
                    item.Attachments  = db.Attachments
                                        .Where(w => w.AttachmentReferenceId == item.AssignmentUploadId &&
                                               w.AttachmentReferenceType == AttachmentReferenceTypes.ASSIGNMENT_UPLOADS)
                                        .OrderByDescending(o => o.AttachmentId)
                                        .ToList();
                }
            }
            ViewBag.AssignmentId = Id;
            return(View(assignmentUploads));
        }
コード例 #6
0
        public ActionResult Register(User user)
        {
            bool   Status  = false;
            string message = "";

            //
            // Model Validation
            if (true)
            {
                //Email is already Exist
                var isExist = IsEmailExist(user.UserEmail);
                if (isExist)
                {
                    ModelState.AddModelError("EmailExist", "Email already exist");
                    return(View(user));
                }

                user.UserPassword     = Crypto.Hash(user.UserPassword);
                user.UserLastLoggedIn = DateTime.Now;

                // Save to Database
                using (EastWoodEntities db = new EastWoodEntities())
                {
                    db.Users.Add(user);
                    db.SaveChanges();

                    if (user.RoleId == RoleTypes.LECTURER_ID)
                    {
                        Lecturer lecturer = new Lecturer();
                        lecturer.UserId = user.UserId;
                        db.Lecturers.Add(lecturer);
                        db.SaveChanges();
                    }
                    else if (user.RoleId == RoleTypes.COORDINATOR_ID)
                    {
                        Coordinator coordinator = new Coordinator();
                        coordinator.UserId = user.UserId;
                        db.Coordinators.Add(coordinator);
                        db.SaveChanges();
                    }
                    else if (user.RoleId == RoleTypes.STUDENT_ID)
                    {
                        Student student = new Student();
                        student.UserId = user.UserId;
                        db.Students.Add(student);
                        db.SaveChanges();
                    }
                }
            }
            else
            {
                message = "Invalid Request";
            }

            ViewBag.Message = message;
            ViewBag.Status  = Status;
            return(Redirect("/Admin/Users"));
        }
コード例 #7
0
 public ActionResult Semesters(int Id)
 {
     using (EastWoodEntities db = new EastWoodEntities())
     {
         var list = db.Semesters.Where(w => w.CourseId == Id).ToList();
         ViewBag.CourseId = Id;
         return(View(list));
     }
 }
コード例 #8
0
 private List <Semester> GetSemesters(int Id)
 {
     using (EastWoodEntities db = new EastWoodEntities())
     {
         var list = db.Semesters.Where(w => w.CourseId == Id).ToList();
         ViewBag.CourseId = Id;
         return(list);
     }
 }
コード例 #9
0
        private CoursesViewModel GetCoursesViewModel(int userId)
        {
            CoursesViewModel viewModel = new CoursesViewModel();

            using (EastWoodEntities db = new EastWoodEntities())
            {
                int studentId = db.Students.Where(w => w.UserId == userId).Select(s => s.StudentId).FirstOrDefault();
                if (studentId == 0)
                {
                    return(null);
                }
                viewModel.Courses = db.Courses
                                    .Join(
                    db.StudentCourses.Where(w => w.StudentId == studentId),
                    c => c.CourseId,
                    sc => sc.CourseId,
                    (c, sc) => new { Course = c }
                    )
                                    .Join(
                    db.Coordinators,
                    course => course.Course.CoordinatorId,
                    coordinator => coordinator.CoordinatorId,
                    (course, coordinator) => new
                {
                    Course      = course,
                    Coordinator = coordinator
                })

                                    .Join(
                    db.Users,
                    cd => cd.Coordinator.UserId,
                    user => user.UserId,
                    (cd, user) => new CourseItem
                {
                    CourseName         = cd.Course.Course.CourseName,
                    CourseId           = cd.Course.Course.CourseId,
                    CourseDescription  = cd.Course.Course.CourseDescription,
                    CourseEndsOn       = cd.Course.Course.CourseEndsOn,
                    CourseStartsOn     = cd.Course.Course.CourseStartsOn,
                    CoordinatorDetails = new ViewModel.CoordinatorDetails
                    {
                        UserId           = user.UserId,
                        UserBio          = user.UserBio,
                        UserFirstName    = user.UserFirstName,
                        UserLastLoggedIn = user.UserLastLoggedIn,
                        UserLastName     = user.UserLastName,
                        UserEmail        = user.UserEmail,
                        UserContactNo    = user.UserContactNo,
                        CoordinatorId    = cd.Coordinator.CoordinatorId
                    }
                }
                    )
                                    .OrderByDescending(o => o.CourseStartsOn).ToList();
            }
            return(viewModel);
        }
コード例 #10
0
        public ActionResult Assignments(int Id = 0)
        {
            int userId = int.Parse(Session["UserId"].ToString());
            List <AssignmentItem> assignments = new List <AssignmentItem>();

            using (EastWoodEntities db = new EastWoodEntities())
            {
                int studentId = db.Students.Where(w => w.UserId == userId).Select(s => s.StudentId).FirstOrDefault();
                if (studentId == 0)
                {
                    return(Redirect("/"));
                }
                List <Assignment> items = new List <Assignment>();
                if (Id == 0)
                {
                    items = db.Assignments
                            .Join(
                        db.Subjects,
                        a => a.SubjectId,
                        s => s.SubjectId,
                        (a, s) => new { Subject = s, Assignment = a }
                        )
                            .Join(
                        db.Semesters,
                        asSub => asSub.Subject.SemesterId,
                        sem => sem.SemesterId,
                        (asSub, sem) => new { Semester = sem, Assignment = asSub.Assignment }
                        )
                            .Join(
                        db.StudentCourses.Where(w => w.StudentId == studentId),
                        asSubCourse => asSubCourse.Semester.CourseId,
                        sc => sc.CourseId,
                        (asSubCourse, sc) => new { Assignment = asSubCourse.Assignment }
                        )
                            .Select(s => s.Assignment)
                            .ToList();
                }
                else
                {
                    items = db.Assignments.Where(w => w.SubjectId == Id).ToList();
                }
                foreach (var item in items)
                {
                    AssignmentItem assignment = new AssignmentItem();
                    assignment.Assignment      = item;
                    assignment.Subject         = item.Subject;
                    assignment.AssignmentMarks = MarksHelper.GetMarksForAssignment(item.AssignmentId, studentId);
                    assignment.AssignmentGrade = MarksHelper.GetGradeForAssignment(item.AssignmentId, studentId);
                    assignments.Add(assignment);
                }
            }
            ViewBag.SubjectId = Id;
            return(View(assignments));
        }
コード例 #11
0
 public ActionResult Users()
 {
     using (EastWoodEntities db = new EastWoodEntities())
     {
         List <User> users = db.Users.ToList();
         foreach (var user in users)
         {
             user.Role = user.Role;
         }
         return(View(users));
     }
 }
コード例 #12
0
 private bool IsEmailExist(string Email)
 {
     using (EastWoodEntities db = new EastWoodEntities())
     {
         var user = db.Users.Where(w => w.UserEmail.ToLower() == Email.ToLower()).FirstOrDefault();
         if (user != null)
         {
             return(true);
         }
         return(false);
     }
 }
コード例 #13
0
        private CoursesViewModel GetCoursesViewModel()
        {
            CoursesViewModel viewModel = new CoursesViewModel();

            using (EastWoodEntities db = new EastWoodEntities())
            {
                viewModel.Courses = db.Courses
                                    .Join(
                    db.Coordinators,
                    course => course.CoordinatorId,
                    coordinator => coordinator.CoordinatorId,
                    (course, coordinator) => new
                {
                    Course      = course,
                    Coordinator = coordinator
                })

                                    .Join(
                    db.Users,
                    cd => cd.Coordinator.UserId,
                    user => user.UserId,
                    (cd, user) => new CourseItem
                {
                    CourseName         = cd.Course.CourseName,
                    CourseId           = cd.Course.CourseId,
                    CourseDescription  = cd.Course.CourseDescription,
                    CourseEndsOn       = cd.Course.CourseEndsOn,
                    CourseStartsOn     = cd.Course.CourseStartsOn,
                    CoordinatorDetails = new ViewModel.CoordinatorDetails
                    {
                        UserId           = user.UserId,
                        UserBio          = user.UserBio,
                        UserFirstName    = user.UserFirstName,
                        UserLastLoggedIn = user.UserLastLoggedIn,
                        UserLastName     = user.UserLastName,
                        UserEmail        = user.UserEmail,
                        UserContactNo    = user.UserContactNo,
                        CoordinatorId    = cd.Coordinator.CoordinatorId
                    }
                }
                    )
                                    .OrderByDescending(o => o.CourseStartsOn).ToList();

                foreach (var item in viewModel.Courses)
                {
                    item.StudentCourses = db.StudentCourses.Where(w => w.CourseId == item.CourseId).ToList();
                }
            }
            return(viewModel);
        }
コード例 #14
0
 public static string GetGradeForAssignment(int AssignmentId, int StudentId)
 {
     using (EastWoodEntities db = new EastWoodEntities())
     {
         var submitions = db.AssignmentUploads
                          .Where(w => w.AssignmentId == AssignmentId && w.StudentId == StudentId)
                          .FirstOrDefault();
         if (submitions != null)
         {
             return(submitions.AssignmentUploadGrade);
         }
         return("Not Submitted");
     }
 }
コード例 #15
0
 public ActionResult SetMarks(int Id, int Marks, int AssignmentId, string Comment)
 {
     using (EastWoodEntities db = new EastWoodEntities())
     {
         var upload = db.AssignmentUploads.Where(w => w.AssignmentUploadId == Id).FirstOrDefault();
         if (upload != null)
         {
             upload.AssignmentUploadMarks           = Marks;
             upload.AssignmentUploadGrade           = MarksHelper.GetGrade(Marks);
             upload.AssignmentUploadLecturerComment = Comment;
             db.SaveChanges();
         }
     }
     return(Redirect("/Admin/AssignmentUploads/" + AssignmentId));
 }
コード例 #16
0
        public ActionResult NewSubject(int Id = 0, int SemesterId = 0)
        {
            if (Id != 0)
            {
                using (EastWoodEntities db = new EastWoodEntities())
                {
                    var subject = db.Subjects.Where(w => w.SubjectId == Id).FirstOrDefault();
                    return(View(subject));
                }
            }
            Subject sub = new Subject();

            sub.SemesterId = SemesterId;
            return(View(sub));
        }
コード例 #17
0
        public ActionResult NewSemester(int Id = 0, int CourseId = 0)
        {
            if (Id != 0)
            {
                using (EastWoodEntities db = new EastWoodEntities())
                {
                    var semester = db.Semesters.Where(w => w.SemesterId == Id).FirstOrDefault();
                    return(View(semester));
                }
            }
            Semester semester1 = new Semester();

            semester1.CourseId = CourseId;
            return(View(semester1));
        }
コード例 #18
0
        public ActionResult Subjects(int Id = 0)
        {
            int            userId   = int.Parse(Session["UserId"].ToString());
            List <Subject> subjects = new List <Subject>();

            using (EastWoodEntities db = new EastWoodEntities())
            {
                int studentId = db.Students.Where(w => w.UserId == userId).Select(s => s.StudentId).FirstOrDefault();
                if (studentId == 0)
                {
                    return(Redirect("/"));
                }
                List <Subject> items = new List <Subject>();
                if (Id == 0)
                {
                    items = db.Subjects
                            .Join(
                        db.Semesters,
                        sub => sub.SemesterId,
                        sem => sem.SemesterId,
                        (sub, sem) => new { Semester = sem, Subject = sub }
                        )
                            .Join(
                        db.StudentCourses.Where(w => w.StudentId == studentId),
                        SemesterSubject => SemesterSubject.Semester.CourseId,
                        sc => sc.CourseId,
                        (SemesterSubject, sc) => new { Subject = SemesterSubject.Subject }
                        )
                            .Select(s => s.Subject)
                            .ToList();
                }
                else
                {
                    items = db.Subjects.Where(w => w.SemesterId == Id).ToList();
                }
                foreach (var item in items)
                {
                    Subject sub = new Subject();
                    sub                 = item;
                    sub.Semester        = item.Semester;
                    sub.Lecturer.User   = item.Lecturer.User;
                    sub.Semester.Course = item.Semester.Course;
                    subjects.Add(sub);
                }
            }
            ViewBag.SemesterId = Id;
            return(View(subjects));
        }
コード例 #19
0
        public static double GetMarksForAssignment(int AssignmentId, int StudentId)
        {
            double marks = 0;

            using (EastWoodEntities db = new EastWoodEntities())
            {
                var submitions = db.AssignmentUploads
                                 .Where(w => w.AssignmentId == AssignmentId && w.StudentId == StudentId)
                                 .FirstOrDefault();
                if (submitions != null)
                {
                    marks = submitions.AssignmentUploadMarks;
                }
            }
            return(marks);
        }
コード例 #20
0
        public ActionResult Assignments(int Id = 0)
        {
            int userId = int.Parse(Session["UserId"].ToString());
            List <AssignmentItem> assignments = new List <AssignmentItem>();

            using (EastWoodEntities db = new EastWoodEntities())
            {
                Lecturer          lecturer = db.Lecturers.Where(w => w.UserId == userId).FirstOrDefault();
                List <Assignment> items    = new List <Assignment>();
                if (lecturer != null && Id == 0)
                {
                    items = db.Assignments
                            .Join(
                        db.Subjects,
                        a => a.SubjectId,
                        s => s.SubjectId,
                        (a, s) => new { Assignment = a, Subject = s }
                        )
                            .Where(w => w.Subject.LecturerId == lecturer.LecturerId)
                            .Select(s => s.Assignment)
                            .ToList();
                }
                else
                {
                    if (Id == 0)
                    {
                        items = db.Assignments.ToList();
                    }
                    else
                    {
                        items = db.Assignments.Where(w => w.SubjectId == Id).ToList();
                    }
                }

                foreach (var item in items)
                {
                    AssignmentItem assignment = new AssignmentItem();
                    assignment.Assignment = item;
                    assignment.Subject    = item.Subject;
                    assignments.Add(assignment);
                }
            }
            ViewBag.SubjectId = Id;
            return(View(assignments));
        }
コード例 #21
0
        public ActionResult Courses()
        {
            CoursesViewModel viewModel = new CoursesViewModel();

            using (EastWoodEntities db = new EastWoodEntities())
            {
                viewModel.Courses = db.Courses
                                    .Join(
                    db.Coordinators,
                    course => course.CoordinatorId,
                    coordinator => coordinator.CoordinatorId,
                    (course, coordinator) => new
                {
                    Course      = course,
                    Coordinator = coordinator
                })
                                    .Join(
                    db.Users,
                    cd => cd.Coordinator.UserId,
                    user => user.UserId,
                    (cd, user) => new CourseItem
                {
                    CourseName         = cd.Course.CourseName,
                    CourseId           = cd.Course.CourseId,
                    CourseDescription  = cd.Course.CourseDescription,
                    CourseEndsOn       = cd.Course.CourseEndsOn,
                    CourseStartsOn     = cd.Course.CourseStartsOn,
                    CoordinatorDetails = new ViewModel.CoordinatorDetails
                    {
                        UserId           = user.UserId,
                        UserBio          = user.UserBio,
                        UserFirstName    = user.UserFirstName,
                        UserLastLoggedIn = user.UserLastLoggedIn,
                        UserLastName     = user.UserLastName,
                        UserEmail        = user.UserEmail,
                        UserContactNo    = user.UserContactNo,
                        CoordinatorId    = cd.Coordinator.CoordinatorId
                    }
                }
                    )
                                    .OrderByDescending(o => o.CourseStartsOn).ToList();
            }
            return(View(viewModel));
        }
コード例 #22
0
        public ActionResult Login(User user, string ReturnUrl = "/Admin")
        {
            string message = "";

            ReturnUrl = ViewBag.ReturnUrl;
            using (EastWoodEntities db = new EastWoodEntities())
            {
                var v = db.Users.Where(w => w.UserEmail == user.UserEmail).FirstOrDefault();
                if (v != null)
                {
                    if (string.Compare(Crypto.Hash(user.UserPassword), v.UserPassword) != 0)
                    {
                        message = "Invalid credential provided";
                    }
                    else if (!IsAdmin(v.RoleId))
                    {
                        message = "This user is not an admin";
                    }
                    else
                    {
                        user.UserLastLoggedIn       = DateTime.Now;
                        Session["UserId"]           = v.UserId;
                        Session["UserName"]         = v.UserFirstName + " " + v.UserLastName;
                        Session["UserRole"]         = v.Role.RoleName;
                        Session["UserLastLoggedIn"] = v.UserLastLoggedIn;

                        if (Url.IsLocalUrl(ReturnUrl))
                        {
                            return(Redirect(ReturnUrl));
                        }
                        else
                        {
                            return(RedirectToAction("Index", "Admin"));
                        }
                    }
                }
                else
                {
                    message = "Invalid credential provided";
                }
            }
            ViewBag.Message = message;
            return(View());
        }
コード例 #23
0
        private List <Subject> GetSubjectsBySemester(int Id)
        {
            List <Subject> subjects = new List <Subject>();

            using (EastWoodEntities db = new EastWoodEntities())
            {
                List <Subject> items = db.Subjects.Where(w => w.SemesterId == Id).ToList();

                foreach (var item in items)
                {
                    Subject sub = new Subject();
                    sub               = item;
                    sub.Semester      = item.Semester;
                    sub.Lecturer.User = item.Lecturer.User;
                    subjects.Add(sub);
                }
            }
            return(subjects);
        }
コード例 #24
0
 public ActionResult NewSemester(Semester semester)
 {
     using (EastWoodEntities db = new EastWoodEntities())
     {
         if (semester.SemesterId != 0)
         {
             var sem = db.Semesters.Where(w => w.SemesterId == semester.SemesterId).FirstOrDefault();
             sem.SemesterStartDate = semester.SemesterStartDate;
             sem.SemesterEndDate   = semester.SemesterEndDate;
             sem.SemesterName      = semester.SemesterName;
             db.SaveChanges();
         }
         else
         {
             db.Semesters.Add(semester);
             db.SaveChanges();
         }
     }
     return(Redirect("/Admin/Semesters/" + semester.CourseId));
 }
コード例 #25
0
 public ActionResult NewSubject(Subject subject)
 {
     using (EastWoodEntities db = new EastWoodEntities())
     {
         if (subject.SubjectId != 0)
         {
             var sem = db.Subjects.Where(w => w.SubjectId == subject.SubjectId).FirstOrDefault();
             sem.SubjectName        = subject.SubjectName;
             sem.SubjectDescription = subject.SubjectDescription;
             sem.SemesterId         = subject.SemesterId;
             sem.LecturerId         = subject.LecturerId;
             db.SaveChanges();
         }
         else
         {
             db.Subjects.Add(subject);
             db.SaveChanges();
         }
     }
     return(Redirect("/Admin/Subjects/" + subject.SemesterId));
 }
コード例 #26
0
        public ActionResult LectureNotes(int Id = 0)
        {
            int userId = int.Parse(Session["UserId"].ToString());
            List <LectureNoteItem> lectureNotes = new List <LectureNoteItem>();

            using (EastWoodEntities db = new EastWoodEntities())
            {
                List <LectureNote> items = new List <LectureNote>();
                if (Id == 0)
                {
                    int studentId = db.Students.Where(w => w.UserId == userId).Select(s => s.StudentId).FirstOrDefault();
                    if (studentId == 0)
                    {
                        items = db.LectureNotes.ToList();
                    }
                    else
                    {
                        items = db.LectureNotes
                                .Where(w => w.Subject.Semester.Course.StudentCourses.Where(w2 => w2.StudentId == studentId).Count() > 0)
                                .ToList();
                    }
                }
                else
                {
                    items = db.LectureNotes.Where(w => w.SubjectId == Id).ToList();
                }
                foreach (var item in items)
                {
                    LectureNoteItem note = new LectureNoteItem();
                    note.LectureNote = item;
                    note.Subject     = item.Subject;
                    note.Attachments = db.Attachments.
                                       Where(w => w.AttachmentReferenceId == item.LectureNoteid && w.AttachmentReferenceType == AttachmentReferenceTypes.LECTURE_NOTE)
                                       .ToList();
                    lectureNotes.Add(note);
                }
            }
            ViewBag.SubjectId = Id;
            return(View(lectureNotes));
        }
コード例 #27
0
        public ActionResult Subjects(int Id = 0)
        {
            int            userId   = int.Parse(Session["UserId"].ToString());
            List <Subject> subjects = new List <Subject>();

            using (EastWoodEntities db = new EastWoodEntities())
            {
                Lecturer       lecturer = db.Lecturers.Where(w => w.UserId == userId).FirstOrDefault();
                List <Subject> items    = new List <Subject>();
                if (lecturer != null && Id == 0)
                {
                    items = db.Subjects
                            .Where(w => w.LecturerId == lecturer.LecturerId)
                            .ToList();
                }
                else
                {
                    if (Id == 0)
                    {
                        items = db.Subjects.ToList();
                    }
                    else
                    {
                        items = db.Subjects.Where(w => w.SemesterId == Id).ToList();
                    }
                }

                foreach (var item in items)
                {
                    Subject sub = new Subject();
                    sub               = item;
                    sub.Semester      = item.Semester;
                    sub.Lecturer.User = item.Lecturer.User;
                    subjects.Add(sub);
                }
            }
            ViewBag.SemesterId = Id;
            return(View(subjects));
        }
コード例 #28
0
        public ActionResult Index(int Id = 0)
        {
            HomePageViewModel viewModel = new HomePageViewModel();

            ViewBag.SelectedCourseId = Id;
            int userId = int.Parse(Session["UserId"].ToString());

            viewModel.Courses = GetCoursesViewModel(userId);
            if (viewModel.Courses != null && viewModel.Courses.Courses.Count > Id)
            {
                viewModel.Semesters = GetSemesters(viewModel.Courses.Courses[Id].CourseId);
                viewModel.Subjects  = new List <Subject>();
                foreach (var sem in viewModel.Semesters)
                {
                    viewModel.Subjects.AddRange(GetSubjectsBySemester(sem.SemesterId));
                }
            }
            using (EastWoodEntities db = new EastWoodEntities())
            {
                var student = db.Students.Where(w => w.UserId == userId).FirstOrDefault();
                if (student != null && viewModel.Subjects != null && viewModel.Semesters != null)
                {
                    // get marks for student for subjects
                    foreach (var sub in viewModel.Subjects)
                    {
                        sub.StudentAvgMarksForSubject = MarksHelper.GetAvgMarksForSubject(sub.SubjectId, student.StudentId);
                        sub.StudentGradeForSubject    = MarksHelper.GetGradeForSubject(sub.SubjectId, student.StudentId);
                    }
                    // get marks for student for semesters
                    foreach (var sem in viewModel.Semesters)
                    {
                        sem.StudentGradeForSemester = MarksHelper.GetGradeForSemester(sem.SemesterId, student.StudentId);
                    }
                }
            }

            return(View(viewModel));
        }
コード例 #29
0
        public static string GetGradeForSubject(int SubjectId, int StudentId)
        {
            double marks = 0;

            using (EastWoodEntities db = new EastWoodEntities())
            {
                var submittions = db.AssignmentUploads
                                  .Where(w => w.Assignment.SubjectId == SubjectId && w.StudentId == StudentId)
                                  .ToList();

                int count = 0;
                foreach (var sub in submittions)
                {
                    if (sub.AssignmentUploadMarks > 0)
                    {
                        count++;
                        marks += sub.AssignmentUploadMarks;
                    }
                }
                marks /= count;
            }
            return(GetGrade(marks));
        }
コード例 #30
0
        public static string GetGradeForSemester(int SemesterId, int StudentId)
        {
            double marks = 0;

            using (EastWoodEntities db = new EastWoodEntities())
            {
                var subjects = db.Subjects
                               .Where(w => w.SemesterId == SemesterId)
                               .ToList();
                int count = 0;
                foreach (var sub in subjects)
                {
                    var totalForSub = GetAvgMarksForSubject(sub.SubjectId, StudentId);
                    if (totalForSub > 0)
                    {
                        count++;
                        marks += GetAvgMarksForSubject(sub.SubjectId, StudentId);
                    }
                }
                marks /= count;
            }
            return(GetGrade(marks));
        }