public AllStudentsDetailsViewModel GetAll(int teacherId) { var students = this.db.Students .Where(s => (teacherId != 0) ? s.Group.TeacherId == teacherId : true) .Where(s => s.Status != StudentStatus.Quit) .Select(student => new AllSingleStudentsViewModel { Id = student.Id, FullName = student.FullName, Gender = student.Gender, Age = student.Age, GroupName = student.Group == null ? InfoStrings.StudentNotInAGroupYet : student.Group.Name, }) .ToArray() .OrderBy(x => x.FullName) .ToArray(); var studentsList = new List <AllSingleStudentsViewModel>(students); var model = new AllStudentsDetailsViewModel() { Students = studentsList }; return(model); }
public async Task <AllStudentsDetailsViewModel> GetElligibleGrouplessStudents(int groupId) { var elligibleStatuses = new List <StudentStatus> { StudentStatus.Initial, StudentStatus.PassedDemoLesson, StudentStatus.Inactive, StudentStatus.Waiting }; var students = await this.db.Students .Where(s => elligibleStatuses.Contains(s.Status)) .Select(s => new AllSingleStudentsViewModel { Id = s.Id, FullName = s.FullName, Age = s.Age, Gender = s.Gender, Status = s.Status, } ).ToArrayAsync(); var model = new AllStudentsDetailsViewModel { Students = students }; return(model); }
public async Task <AllStudentsDetailsViewModel> GetNonQuitStudents(int parentId) { var parent = await this.db.Parents .Include(p => p.Children) .ThenInclude(sp => sp.Student) .FirstOrDefaultAsync(s => s.Id == parentId); var students = parent.Children .Where(sp => sp.Student.Status != StudentStatus.Quit) .Select(student => new AllSingleStudentsViewModel { Id = student.Student.Id, FullName = student.Student.FullName, Age = student.Student.Age, Gender = student.Student.Gender, Status = student.Student.Status }) .ToArray(); var studentsList = new List <AllSingleStudentsViewModel>(students); var model = new AllStudentsDetailsViewModel() { Students = studentsList }; return(model); }