// GET: Employees public async Task <IActionResult> Index(string searchString, string sortOrder) { var viewModel = new EmployeeIndexDataViewModel(); viewModel.Employees = await _unitOfWork.EmployeeRepository.GetAllAsync(); ViewData["FirstNameSort"] = String.IsNullOrEmpty(sortOrder) ? "firstname_desc" : ""; ViewData["LastNameSort"] = String.IsNullOrEmpty(sortOrder) ? "lastname_desc" : "lastname"; switch (sortOrder) { case "name_desc": viewModel.Employees = viewModel.Employees.OrderByDescending(c => c.FirstName); break; case "lastname_desc": viewModel.Employees = viewModel.Employees.OrderByDescending(c => c.LastName); break; case "lastname": viewModel.Employees = viewModel.Employees.OrderBy(c => c.LastName); break; default: viewModel.Employees = viewModel.Employees.OrderBy(c => c.FirstName); break; } if (!String.IsNullOrEmpty(searchString)) { viewModel.Employees = await _unitOfWork.EmployeeRepository.FindAllAsync(w => w.FullName.Contains(searchString)); } return(View(viewModel)); }
public ActionResult Index(EmployeeIndexDataViewModel viewModel) { List <Employee> selectedEmployees = new List <Employee>(); if (viewModel.PersonalTrainer) { var result = _unitOfWork.EmployeeRepository.FindAll(c => c.Certification == Certification.PersonalTrainer); foreach (var res in result) { selectedEmployees.Add(res); } } if (viewModel.Nutritionist) { var result = _unitOfWork.EmployeeRepository.FindAll(c => c.Certification == Certification.Nutritionist); foreach (var res in result) { selectedEmployees.Add(res); } } if (viewModel.SportsConditioning) { var result = _unitOfWork.EmployeeRepository.FindAll(c => c.Specialization == Specialization.SportsConditioning); foreach (var res in result) { selectedEmployees.Add(res); } } if (viewModel.WeightManagement) { var result = _unitOfWork.EmployeeRepository.FindAll(c => c.Specialization == Specialization.WeightManagement); foreach (var res in result) { selectedEmployees.Add(res); } } if (viewModel.YouthFitness) { var result = _unitOfWork.EmployeeRepository.FindAll(c => c.Specialization == Specialization.YouthFitness); foreach (var res in result) { selectedEmployees.Add(res); } } if (viewModel.SeniorFitness) { var result = _unitOfWork.EmployeeRepository.FindAll(c => c.Specialization == Specialization.SeniorFitness); foreach (var res in result) { selectedEmployees.Add(res); } } viewModel.Employees = selectedEmployees.Distinct(); return(View(viewModel)); }