public ActionResult SearchEmployee(SearchEmployeeViewModel model) { try { ViewBag.Code = model.Code; ViewBag.FullName = !string.IsNullOrEmpty(model.FullName) ? model.FullName.Trim() : model.FullName; ViewBag.FullNameEnglish = !string.IsNullOrEmpty(model.FullNameEnglish) ? model.FullNameEnglish.Trim() : model.FullNameEnglish; ViewBag.BirthDate = model.BirthDate; ViewBag.HomeTown = model.HomeTown; ViewBag.SortBy = "FullName"; ViewBag.SortOrder = "asc"; ViewBag.Page = 1;//display the first page var criteria = new SearchEmployeeCriteria(); criteria.BirthDate = model.BirthDate; criteria.Code = model.Code; criteria.FullName = model.FullName; criteria.FullNameEnglish = model.FullNameEnglish; criteria.HomeTown = model.HomeTown; var allEmployees = _employeeBusiness.SearchEmployees(criteria); var allSortedEmployees = allEmployees.OrderBy(x => x.FullName); var pageSize = 10; var pageNumber = 1; return(PartialView("_SearchEmployeeResultTable", allSortedEmployees.ToPagedList(pageNumber, pageSize))); } catch (Exception ex) { return(Json(new { Success = false, Message = ex.Message, ReturnUrl = "/ResourceManagement/Individual/Search" }, JsonRequestBehavior.AllowGet)); } }
public ActionResult SearchEmployee( string code, string fullName, string fullNameEnglish, string homeTown, DateTime?birthDate, string sortOrder, string sortBy, int?page ) { ViewBag.Code = !string.IsNullOrEmpty(code) ? code.Trim() : code; ViewBag.FullName = !string.IsNullOrEmpty(fullName) ? fullName.Trim() : fullName; ViewBag.FullNameEnglish = !string.IsNullOrEmpty(fullNameEnglish) ? fullNameEnglish.Trim() : fullNameEnglish; ViewBag.HomeTown = !string.IsNullOrEmpty(homeTown) ? homeTown.Trim() : homeTown; ViewBag.BirthDate = birthDate; ViewBag.SortBy = sortBy; ViewBag.SortOrder = sortOrder; ViewBag.Page = page; var viewModel = new SearchEmployeeViewModel { Code = !string.IsNullOrEmpty(code) ? code.Trim() : code, FullName = !string.IsNullOrEmpty(fullName) ? fullName.Trim() : fullName, FullNameEnglish = !string.IsNullOrEmpty(fullNameEnglish) ? fullNameEnglish.Trim() : fullNameEnglish, HomeTown = !string.IsNullOrEmpty(homeTown) ? homeTown.Trim() : homeTown, BirthDate = birthDate }; var criteria = new SearchEmployeeCriteria(); criteria.Code = viewModel.Code; criteria.FullName = viewModel.FullName; criteria.FullNameEnglish = viewModel.FullNameEnglish; criteria.HomeTown = viewModel.HomeTown; criteria.BirthDate = viewModel.BirthDate; var allEmployees = _employeeBusiness.SearchEmployees(criteria); switch (sortBy) { case "Code": allEmployees = sortOrder == "desc" ? allEmployees.OrderByDescending(x => x.Code).ToList() : allEmployees.OrderBy(x => x.Code).ToList(); break; case "FullName": allEmployees = sortOrder == "desc" ? allEmployees.OrderByDescending(x => x.FullName).ToList() : allEmployees.OrderBy(x => x.FullName).ToList(); break; case "FullNameEnglish": allEmployees = sortOrder == "desc" ? allEmployees.OrderByDescending(x => x.FullNameEnglish).ToList() : allEmployees.OrderBy(x => x.FullNameEnglish).ToList(); break; case "HomeTown": allEmployees = sortOrder == "desc" ? allEmployees.OrderByDescending(x => x.HomeTown).ToList() : allEmployees.OrderBy(x => x.HomeTown).ToList(); break; case "BirthDate": allEmployees = sortOrder == "desc" ? allEmployees.OrderByDescending(x => x.BirthDate).ToList() : allEmployees.OrderBy(x => x.BirthDate).ToList(); break; default: allEmployees = sortOrder == "desc" ? allEmployees.OrderByDescending(x => x.FullName).ToList() : allEmployees.OrderBy(x => x.FullName).ToList(); break; } var pageSize = 10; var pageNumber = (page ?? 1); return(PartialView("_SearchEmployeeResultTable", allEmployees.ToPagedList(pageNumber, pageSize))); }
public List <EmployeeSearchResult> SearchEmployees(SearchEmployeeCriteria criteria) { return(_employeeRepository.ExecuteSearch <EmployeeSearchResult>("SearchEmployees", criteria)); }