コード例 #1
0
        public async Task <IActionResult> TestScore()
        {
            var CurrentUser = (Teacher)await _userManager.GetUserAsync(User);

            var Class = _context.Classes.SingleOrDefault(c => c.Id == CurrentUser.ClassId);

            Class.Students = _context.Students.Where(s => s.ClassId == Class.Id).ToList();
            var model = new AllDepartmentsTests();

            model.ScienceTests    = new List <StudentTests>();
            model.CommercialTests = new List <StudentTests>();
            model.ArtTests        = new List <StudentTests>();
            int ScienceId          = _context.Departments.Single(d => d.Name == "Science").Id;
            int CommercialId       = _context.Departments.Single(d => d.Name == "Commercial").Id;
            int ArtId              = _context.Departments.Single(d => d.Name == "Art").Id;
            int CurrentTermId      = _context.CurrentTerm.Id;
            var ScienceStudents    = _context.Students.Where(s => s.DepartmentId == ScienceId && s.ClassId == Class.Id);
            var CommercialStudents = _context.Students.Where(s => s.DepartmentId == CommercialId && s.ClassId == Class.Id);
            var ArtStudents        = _context.Students.Where(s => s.DepartmentId == ArtId && s.ClassId == Class.Id);

            foreach (var student in ScienceStudents)
            {
                var StudentTests = new StudentTests();
                StudentTests.StudentName = student.FullName;
                var Test = _context.Tests.Where(e => e.StudentId == student.Id && e.TermId == CurrentTermId);
                StudentTests.Tests = Test.Include(e => e.DepartmentSubject).ThenInclude(ds => ds.Subject).ToList();
                model.ScienceTests.Add(StudentTests);
            }
            foreach (var student in CommercialStudents)
            {
                var StudentTests = new StudentTests();
                StudentTests.StudentName = student.FullName;
                var Tests = _context.Tests.Where(e => e.StudentId == student.Id && e.TermId == CurrentTermId);
                StudentTests.Tests = Tests.Include(e => e.DepartmentSubject).ThenInclude(ds => ds.Subject).ToList();
                model.CommercialTests.Add(StudentTests);
            }
            foreach (var student in ArtStudents)
            {
                var StudentTests = new StudentTests();
                StudentTests.StudentName = student.FullName;
                var Tests = _context.Tests.Where(e => e.StudentId == student.Id && e.TermId == CurrentTermId);
                StudentTests.Tests = Tests.Include(e => e.DepartmentSubject).ThenInclude(ds => ds.Subject).ToList();
                model.ArtTests.Add(StudentTests);
            }
            return(View(model));
        }
        public IActionResult ClassTests(int Id)
        {
            var Class = _db.Classes.Find(Id);

            Class.Students = _db.Students.Where(s => s.ClassId == Class.Id).ToList();
            var model = new AllDepartmentsTests();

            model.ScienceTests    = new List <StudentTests>();
            model.CommercialTests = new List <StudentTests>();
            model.ArtTests        = new List <StudentTests>();
            int ScienceId          = _db.Departments.Single(d => d.Name == "Science").Id;
            int CommercialId       = _db.Departments.Single(d => d.Name == "Commercial").Id;
            int ArtId              = _db.Departments.Single(d => d.Name == "Art").Id;
            int CurrentTermId      = _db.CurrentTerm.Id;
            var ScienceStudents    = _db.Students.Where(s => s.DepartmentId == ScienceId && s.ClassId == Class.Id);
            var CommercialStudents = _db.Students.Where(s => s.DepartmentId == CommercialId && s.ClassId == Class.Id);
            var ArtStudents        = _db.Students.Where(s => s.DepartmentId == ArtId && s.ClassId == Class.Id);

            foreach (var student in ScienceStudents)
            {
                var StudentTests = new StudentTests();
                StudentTests.StudentName = student.FullName;
                var Test = _db.Tests.Where(e => e.StudentId == student.Id && e.TermId == CurrentTermId);
                StudentTests.Tests = Test.Include(e => e.DepartmentSubject).ThenInclude(ds => ds.Subject).ToList();
                model.ScienceTests.Add(StudentTests);
            }
            foreach (var student in CommercialStudents)
            {
                var StudentTests = new StudentTests();
                StudentTests.StudentName = student.FullName;
                var Tests = _db.Tests.Where(e => e.StudentId == student.Id && e.TermId == CurrentTermId);
                StudentTests.Tests = Tests.Include(e => e.DepartmentSubject).ThenInclude(ds => ds.Subject).ToList();
                model.CommercialTests.Add(StudentTests);
            }
            foreach (var student in ArtStudents)
            {
                var StudentTests = new StudentTests();
                StudentTests.StudentName = student.FullName;
                var Tests = _db.Tests.Where(e => e.StudentId == student.Id && e.TermId == CurrentTermId);
                StudentTests.Tests = Tests.Include(e => e.DepartmentSubject).ThenInclude(ds => ds.Subject).ToList();
                model.ArtTests.Add(StudentTests);
            }
            return(View(model));
        }