Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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 = "";
                }
            }
        }