public virtual ActionResult SearchEmployee(string query, int id) { var employees = _emplyeeMachineService.GetEmployees(id).OrderBy(x => x.Enrolled); var result = new List <EmployeeMachineDao>(); var firstNames = employees.Where(x => x.FirstName.Contains(query)).ToList(); var lastNames = employees.Where(x => x.LastName.Contains(query)).ToList(); var codes = employees.Where(x => x.EmployeeCode == query).ToList(); int employeeId; if (int.TryParse(query, out employeeId)) { var employee = employees.Where(x => x.EmployeeId == employeeId).ToList(); result.AddRange(employee); } result.AddRange(firstNames); result.AddRange(lastNames); result.AddRange(codes); ViewBag.SearchCriteria = query; var resultDistinct = result.Distinct(); var pagination = _webService.GetPaginationModel(Request, resultDistinct.Count()); var viewModel = new EmployeeMachineViewModel { Employees = _webService.TakePaginationModel(resultDistinct, pagination), Pagination = pagination, MachineNumber = id }; return(View("EnrolledEmployees", viewModel)); }
private void Rebind(bool showOnlyNotRegistered = false) { //load the employees that are registered to this machine var employees = showOnlyNotRegistered ? _employeeMachineService.GetEmployeesNotRegistered(_machineNumber) : _employeeMachineService.GetEmployees(_machineNumber); _employeeCodes.Clear(); employees = employees.Where(x => x.EmployeeCode != null).ToList(); foreach (var employee in employees) { _employeeCodes.Add(employee.EmployeeCode, employee.EmployeeId); } GridView.AutoGenerateColumns = false; GridView.DataSource = employees; foreach (var control in this.Controls) { var box = control as TextBox; if (box != null) { box.Text = ""; } } }