public IHttpActionResult Get(NhanVienSearchList nhanVienSearchList)
 {
     return(Ok(new {
         data = _nhanVienServices.GetAll(nhanVienSearchList),
         size = nhanVienSearchList.size,
         page = nhanVienSearchList.page,
         total = _nhanVienServices.count_list
     }));
 }
예제 #2
0
        public List <NhanViens> GetAll(NhanVienSearchList nhanVienSearchList)
        {
            if (!nhanVienSearchList.page.HasValue || nhanVienSearchList.page == null)
            {
                nhanVienSearchList.page = Constant.DefaultPage;
            }
            if (!nhanVienSearchList.size.HasValue || nhanVienSearchList.size == null)
            {
                nhanVienSearchList.size = Constant.DefaultPage;
            }
            var query = _repositoryNhanVien.GetAll();

            if (!string.IsNullOrWhiteSpace(nhanVienSearchList.TenTaiKhoan))
            {
                query = query.Where(p => p.TenTaiKhoan.ToLower().Contains(nhanVienSearchList.TenTaiKhoan.ToLower()));
            }
            if (!string.IsNullOrWhiteSpace(nhanVienSearchList.TenNhanVien))
            {
                query = query.Where(p => p.TenNhanVien.ToLower().Contains(nhanVienSearchList.TenNhanVien.ToLower()));
            }
            if (!string.IsNullOrWhiteSpace(nhanVienSearchList.ChucVu))
            {
                query = query.Where(p => p.ChucVu.ToLower().Contains(nhanVienSearchList.ChucVu.ToLower()));
            }
            if (!string.IsNullOrWhiteSpace(nhanVienSearchList.Email))
            {
                query = query.Where(p => p.Email.ToLower().Contains(nhanVienSearchList.Email.ToLower()));
            }
            if (nhanVienSearchList.TrangThai.HasValue)
            {
                query = query.Where(p => p.TrangThai == nhanVienSearchList.TrangThai.Value);
            }
            query = query.Take(nhanVienSearchList.size.Value)
                    .Skip(nhanVienSearchList.size.Value * (nhanVienSearchList.page.Value)).OrderBy(p => p.MaNhanVien);
            this.count_list = query.Count();
            return(query.ToList());
        }