public async Task <IActionResult> Index(string studentIndex, string searchString) { IQueryable <Student> students = _context.Student.AsQueryable(); IQueryable <string> indexQuery = _context.Student.OrderBy(m => m.Index).Select(m => m.Index).Distinct(); students = students.Include(s => s.Courses).ThenInclude(s => s.Course); if (!string.IsNullOrEmpty(studentIndex)) { students = students.Where(x => x.Index == studentIndex); } IEnumerable <Student> dataList = students as IEnumerable <Student>; if (!string.IsNullOrEmpty(searchString)) { dataList = dataList.ToList().Where(s => s.FullName.ToLower().Contains(searchString.ToLower())); } var studentViewModel = new StudentFilterViewModel { Indexes = new SelectList(await indexQuery.ToListAsync()), Students = dataList.ToList() }; return(View(studentViewModel)); }
public async Task <IActionResult> List(StudentFilterViewModel studentFilterViewModel) { var studentListViewModel = new StudentListViewModel(); var studentListResult = await _studentManager.GetList(_mapper.Map <StudentFilterModel>(studentFilterViewModel)); if (studentListResult.IsOk) { var students = _mapper.Map <List <StudentMvcDto> >(studentListResult.Data.Students); studentListViewModel.Students = students; } var timeTextResult = await _studentManager.GetCachedData(); studentListViewModel.TimeText = timeTextResult.Data; studentListViewModel.ReturnMessage = Resource.OperationCompletedSuccessfully; studentFilterViewModel.Genders = await _optionManager.GetGenders(); var result = (StudentListViewModel : studentListViewModel, StudentFilterViewModel : studentFilterViewModel); return(View(result)); }
public async Task <IActionResult> StudentIndex(string searchFullName, string searchCourse) { IQueryable <string> indexQuery = _context.Student.OrderBy(m => m.Index).Select(m => m.Index).Distinct(); IQueryable <Student> students = _context.Student.AsQueryable() .Include(s => s.Courses) .ThenInclude(s => s.Course); var enrollments = _context.Enrollment .Include(e => e.Course) .Include(e => e.Student) .Where(s => s.Course.Title.Contains(searchCourse)); IEnumerable <int> enrollmentsID = enrollments.Select(e => e.StudentId).Distinct(); if (!string.IsNullOrEmpty(searchCourse)) { students = students.Where(s => enrollmentsID.Contains(s.Id)); } IEnumerable <Student> dataList = students as IEnumerable <Student>; if (!string.IsNullOrEmpty(searchFullName)) { dataList = dataList.Where(s => s.FullName.ToLower().Contains(searchFullName.ToLower())).ToList(); } var studentViewModel = new StudentFilterViewModel { Students = dataList.ToList() }; return(View(studentViewModel)); }
public async Task <IActionResult> List() { var studentListViewModel = new StudentListViewModel { Students = new List <StudentMvcDto>() }; var genders = await _optionManager.GetGenders(); var studentFilterViewModel = new StudentFilterViewModel { Genders = genders }; var result = (StudentListViewModel : studentListViewModel, StudentFilterViewModel : studentFilterViewModel); return(View(result)); }
public async Task <IActionResult> Delete(int id) { var b = await _studentManager.Delete(id); var genders = await _optionManager.GetGenders(); var studentListViewModel = new StudentListViewModel { ReturnMessage = Resource.Successful, Students = new List <StudentMvcDto>() }; var studentFilterViewModel = new StudentFilterViewModel { Genders = genders }; var result = (StudentListViewModel : studentListViewModel, StudentFilterViewModel : studentFilterViewModel); return(View("List", result)); }