// 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));
        }