예제 #1
0
        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
            }));
        }
예제 #2
0
        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));
        }
예제 #3
0
        public async Task <PagedList <UserModel> > GetAllStaffs(SearchStaffModel model)
        {
            var staffs = await _unitOfWork.StaffRepository.Get(model);

            return(staffs);
        }