Ejemplo n.º 1
0
        public IActionResult ShowTimetable(TeacherSubjectsViewModel model, int?id)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToAction("Teachers"));
            }
            if (id != null)
            {
                Teacher teacher = db.Teachers.FirstOrDefault(u => u.AccountId == id);
                Subject subject = db.Subjects.FirstOrDefault(s => s.SubjectId == model.CurrentSubjectId);
                if (teacher == null || subject == null)
                {
                    return(RedirectToAction("Teachers"));
                }

                var tempRecords = db.Records.Where(r => r.SubjectId == subject.SubjectId);
                var timetable   = db.Timetable.Where(tt => tempRecords.FirstOrDefault(r => r.RecordId == tt.RecordId) != null && tt.TeacherAccountId == teacher.AccountId);
                var records     = tempRecords.Where(r => timetable.FirstOrDefault(tt => tt.RecordId == r.RecordId) != null);
                var students    = db.Students.Where(s => records.FirstOrDefault(r => r.StudentAccountId == s.AccountId) != null);

                model.CurrentTeacher = teacher;
                model.CurrentSubject = subject;
                model.Records        = records;
                model.Timetable      = timetable;
                model.Students       = students;
                model.Subjects       = db.Subjects;
                return(View("Timetable", model));
            }
            return(RedirectToAction("Teachers"));
        }
Ejemplo n.º 2
0
        public async Task <TeacherSubjectsViewModel> GetAllSubjects(string user)
        {
            var subjects = await _db.Subjects.ToListAsync();

            var teacher = await _db.Teachers.Include(x => x.TeacherSubject).FirstOrDefaultAsync(x => x.Mail == user);

            var teacherSubjectsViewModel = new TeacherSubjectsViewModel
            {
                Subjects = subjects,
                Teacher  = teacher
            };

            return(teacherSubjectsViewModel);
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Timetable(int?teach, int?subj)
        {
            if (teach != null)
            {
                Teacher teacher = null;
                Subject subject = null;
                IQueryable <Timetable> timetable = null;
                IQueryable <Student>   students  = null;
                IQueryable <Record>    records   = null;
                IQueryable <Subject>   subjects  = db.Subjects;
                if (subj != null)
                {
                    teacher = db.Teachers.FirstOrDefault(u => u.AccountId == teach);
                    subject = db.Subjects.FirstOrDefault(s => s.SubjectId == subj);
                    if (teacher == null || subject == null)
                    {
                        return(RedirectToAction("Teachers"));
                    }

                    var tempRecords = db.Records.Where(r => r.SubjectId == subject.SubjectId);
                    timetable = db.Timetable.Where(tt => tempRecords.FirstOrDefault(r => r.RecordId == tt.RecordId) != null && tt.TeacherAccountId == teacher.AccountId);
                    records   = tempRecords.Where(r => timetable.FirstOrDefault(tt => tt.RecordId == r.RecordId) != null);
                    students  = db.Students.Where(s => records.FirstOrDefault(r => r.StudentAccountId == s.AccountId) != null);
                }
                else
                {
                    teacher = await db.Teachers.FirstOrDefaultAsync(u => u.AccountId == teach);

                    if (teacher == null)
                    {
                        return(RedirectToAction("Teachers"));
                    }
                    timetable = db.Timetable.Where(tt => tt.TeacherAccountId == teacher.AccountId);
                    records   = db.Records.Where(r => timetable.FirstOrDefault(tt => tt.RecordId == r.RecordId) != null);
                }

                var model = new TeacherSubjectsViewModel
                {
                    CurrentTeacher = teacher,
                    CurrentSubject = subject,
                    Timetable      = timetable,
                    Students       = students,
                    Records        = records,
                    Subjects       = subjects
                };
                return(View("Timetable", model));
            }
            return(RedirectToAction("Teachers"));
        }
Ejemplo n.º 4
0
        public IActionResult AddIntoTimeTable(int teach, int subj)
        {
            Teacher teacher = db.Teachers.FirstOrDefault(u => u.AccountId == teach);
            Subject subject = db.Subjects.FirstOrDefault(s => s.SubjectId == subj);

            var model = new TeacherSubjectsViewModel
            {
                CurrentTeacher = teacher,
                CurrentSubject = subject,
                Timetable      = null,
                Students       = null,
                Records        = null,
                Subjects       = null
            };

            return(View("Create/Timetable", model));
        }
Ejemplo n.º 5
0
        public IActionResult AddIntoTimeTable(TeacherSubjectsViewModel model, int teach, int subj)
        {
            Teacher teacher = db.Teachers.FirstOrDefault(u => u.AccountId == teach);
            Subject subject = db.Subjects.FirstOrDefault(s => s.SubjectId == subj);

            var timetable = db.Timetable.Where(t => t.TtWeekDay == model.DayOfWeek && t.TtNumLesson == model.NumberLeson);
            var records   = db.Records.Where(r => r.SubjectId == subject.SubjectId && timetable.FirstOrDefault(t => t.RecordId == r.RecordId) == null);
            var students  = db.Students.Where(s => records.FirstOrDefault(r => r.StudentAccountId == s.AccountId) != null);


            model.CurrentTeacher = teacher;
            model.CurrentSubject = subject;
            model.Timetable      = null;
            model.Students       = students;
            model.Records        = records;
            model.Subjects       = null;

            return(View("Create/Timetable", model));
        }