public async Task <IActionResult> GetAllStaff([FromQuery] SearchStaffModel model) { var result = await _staffService.GetAllStaffs(model); return(Ok(new { data = result, totalCount = result.TotalCount, tolalPages = result.TotalPages })); }
public async Task <PagedList <UserModel> > Get(SearchStaffModel model) { var query = _context.Staff.Where(d => (d.DelFlg == false) && (model.DepartmentId == null || d.DepartmentNavigation.DepartmentId == model.DepartmentId) && (model.DepartmentNm == null || d.DepartmentNavigation.DepartmentNm.Contains(model.DepartmentNm)) && (model.Username == null || d.StaffNavigation.Username.Contains(model.Username)) && (model.FullName == null || d.StaffNavigation.Username.Contains(model.FullName))) .Select(s => new UserModel { Id = s.StaffId, DepartmentId = s.DepartmentId, DepartmentNm = s.DepartmentNavigation.DepartmentNm, Username = s.StaffNavigation.Username, FullName = s.StaffNavigation.FullName, Email = s.StaffNavigation.Email, Address = s.StaffNavigation.Address, Phonenumber = s.StaffNavigation.Phonenumber, DelFlg = s.DelFlg, InsBy = s.InsBy, InsDatetime = s.InsDatetime, UpdBy = s.UpdBy, UpdDatetime = s.UpdDatetime }); var totalCount = await query.CountAsync(); List <UserModel> result = null; if (model.SortBy == Constants.SortBy.SORT_NAME_ASC) { query = query.OrderBy(t => t.DepartmentNm); } else if (model.SortBy == Constants.SortBy.SORT_NAME_DES) { query = query.OrderByDescending(t => t.DepartmentNm); } result = await query.Skip(model.Size *(model.Page - 1)) .Take(model.Size) .ToListAsync(); return(PagedList <UserModel> .ToPagedList(result, totalCount, model.Page, model.Size)); }
public async Task <PagedList <UserModel> > GetAllStaffs(SearchStaffModel model) { var staffs = await _unitOfWork.StaffRepository.Get(model); return(staffs); }