public IList <PhieuBaoHanhViewModel> SearchDanhSachPhieuDatHang(String key, string trangthai, DateTime tungay, DateTime denngay, string userName) { IQueryable <PhieuBaoHanh> danhSachPhieuBaoHanh = _phieuBaoHanhRepo.GetAll(); List <PhieuBaoHanhViewModel> all = new List <PhieuBaoHanhViewModel>(); List <PhieuBaoHanhViewModel> allForManager = new List <PhieuBaoHanhViewModel>(); if (_nhanVienBus.layMaChucVu(userName) == 6) { if (!string.IsNullOrEmpty(key)) { all = (from phieuBaoHanh in danhSachPhieuBaoHanh join nhanVien in _nhanVienRepo.GetAll() on phieuBaoHanh.MaNhanVien equals nhanVien.MaNhanVien where (nhanVien.UserName.Equals(userName) && ( phieuBaoHanh.SoPhieuBaoHanh.ToString().Contains(key) || phieuBaoHanh.TenKhachHang.Contains(key) || phieuBaoHanh.SoDienThoai.Contains(key))) select new { SoPhieuBaoHanh = phieuBaoHanh.SoPhieuBaoHanh, NgayLap = phieuBaoHanh.NgayLap, NgayGiao = phieuBaoHanh.NgayGiao, TenNhanVien = nhanVien.TenNhanvien, TenKhachHang = phieuBaoHanh.TenKhachHang, SoDienThoai = phieuBaoHanh.SoDienThoai, TrangThai = phieuBaoHanh.TrangThai, DaGiao = phieuBaoHanh.DaGiao }).AsEnumerable().Select(x => new PhieuBaoHanhViewModel() { soPhieuBaoHanh = x.SoPhieuBaoHanh, ngayLap = x.NgayLap, ngayGiao = x.NgayGiao, tenNhanVien = x.TenNhanVien, tenKhachHang = x.TenKhachHang, soDienThoai = x.SoDienThoai, trangThai = x.TrangThai, daGiao = x.DaGiao }).OrderByDescending(x => x.soPhieuBaoHanh).ToList(); return(all); } if (!string.IsNullOrEmpty(trangthai)) { all = (from phieuBaoHanh in danhSachPhieuBaoHanh join nhanVien in _nhanVienRepo.GetAll() on phieuBaoHanh.MaNhanVien equals nhanVien.MaNhanVien where (nhanVien.UserName.Equals(userName) && phieuBaoHanh.TrangThai.ToString().Equals(trangthai)) select new { SoPhieuBaoHanh = phieuBaoHanh.SoPhieuBaoHanh, NgayLap = phieuBaoHanh.NgayLap, NgayGiao = phieuBaoHanh.NgayGiao, TenNhanVien = nhanVien.TenNhanvien, TenKhachHang = phieuBaoHanh.TenKhachHang, SoDienThoai = phieuBaoHanh.SoDienThoai, TrangThai = phieuBaoHanh.TrangThai, DaGiao = phieuBaoHanh.DaGiao }).AsEnumerable().Select(x => new PhieuBaoHanhViewModel() { soPhieuBaoHanh = x.SoPhieuBaoHanh, ngayLap = x.NgayLap, ngayGiao = x.NgayGiao, tenNhanVien = x.TenNhanVien, tenKhachHang = x.TenKhachHang, soDienThoai = x.SoDienThoai, trangThai = x.TrangThai, daGiao = x.DaGiao }).OrderByDescending(x => x.soPhieuBaoHanh).ToList(); return(all); } all = (from phieuBaoHanh in danhSachPhieuBaoHanh join nhanVien in _nhanVienRepo.GetAll() on phieuBaoHanh.MaNhanVien equals nhanVien.MaNhanVien where (nhanVien.UserName.Equals(userName) && phieuBaoHanh.TrangThai.Equals(true)) select new { SoPhieuBaoHanh = phieuBaoHanh.SoPhieuBaoHanh, NgayLap = phieuBaoHanh.NgayLap, NgayGiao = phieuBaoHanh.NgayGiao, TenNhanVien = nhanVien.TenNhanvien, TenKhachHang = phieuBaoHanh.TenKhachHang, SoDienThoai = phieuBaoHanh.SoDienThoai, TrangThai = phieuBaoHanh.TrangThai, DaGiao = phieuBaoHanh.DaGiao }).AsEnumerable().Select(x => new PhieuBaoHanhViewModel() { soPhieuBaoHanh = x.SoPhieuBaoHanh, ngayLap = x.NgayLap, ngayGiao = x.NgayGiao, tenNhanVien = x.TenNhanVien, tenKhachHang = x.TenKhachHang, soDienThoai = x.SoDienThoai, trangThai = x.TrangThai, daGiao = x.DaGiao }).OrderByDescending(x => x.soPhieuBaoHanh).ToList(); return(all); } else { if ((!(tungay == default(DateTime))) && (!(denngay == default(DateTime)))) { allForManager = (from phieuBaoHanh in danhSachPhieuBaoHanh join nhanVien in _nhanVienRepo.GetAll() on phieuBaoHanh.MaNhanVien equals nhanVien.MaNhanVien where (phieuBaoHanh.NgayLap >= tungay.Date && phieuBaoHanh.NgayLap <= denngay.Date) select new { SoPhieuBaoHanh = phieuBaoHanh.SoPhieuBaoHanh, NgayLap = phieuBaoHanh.NgayLap, NgayGiao = phieuBaoHanh.NgayGiao, TenNhanVien = nhanVien.TenNhanvien, TenKhachHang = phieuBaoHanh.TenKhachHang, SoDienThoai = phieuBaoHanh.SoDienThoai, TrangThai = phieuBaoHanh.TrangThai, DaGiao = phieuBaoHanh.DaGiao }).AsEnumerable().Select(x => new PhieuBaoHanhViewModel() { soPhieuBaoHanh = x.SoPhieuBaoHanh, ngayLap = x.NgayLap, ngayGiao = x.NgayGiao, tenNhanVien = x.TenNhanVien, tenKhachHang = x.TenKhachHang, soDienThoai = x.SoDienThoai, trangThai = x.TrangThai, daGiao = x.DaGiao }).OrderByDescending(x => x.soPhieuBaoHanh).ToList(); return(allForManager); } if (!string.IsNullOrEmpty(key)) { allForManager = (from phieuBaoHanh in danhSachPhieuBaoHanh join nhanVien in _nhanVienRepo.GetAll() on phieuBaoHanh.MaNhanVien equals nhanVien.MaNhanVien where (phieuBaoHanh.SoPhieuBaoHanh.ToString().Contains(key) || phieuBaoHanh.TenKhachHang.Contains(key) || phieuBaoHanh.SoDienThoai.Contains(key)) select new { SoPhieuBaoHanh = phieuBaoHanh.SoPhieuBaoHanh, NgayLap = phieuBaoHanh.NgayLap, NgayGiao = phieuBaoHanh.NgayGiao, TenNhanVien = nhanVien.TenNhanvien, TenKhachHang = phieuBaoHanh.TenKhachHang, SoDienThoai = phieuBaoHanh.SoDienThoai, TrangThai = phieuBaoHanh.TrangThai, DaGiao = phieuBaoHanh.DaGiao }).AsEnumerable().Select(x => new PhieuBaoHanhViewModel() { soPhieuBaoHanh = x.SoPhieuBaoHanh, ngayLap = x.NgayLap, ngayGiao = x.NgayGiao, tenNhanVien = x.TenNhanVien, tenKhachHang = x.TenKhachHang, soDienThoai = x.SoDienThoai, trangThai = x.TrangThai, daGiao = x.DaGiao }).OrderByDescending(x => x.soPhieuBaoHanh).ToList(); return(allForManager); } if (!string.IsNullOrEmpty(trangthai)) { allForManager = (from phieuBaoHanh in danhSachPhieuBaoHanh join nhanVien in _nhanVienRepo.GetAll() on phieuBaoHanh.MaNhanVien equals nhanVien.MaNhanVien where phieuBaoHanh.TrangThai.ToString().Equals(trangthai) select new { SoPhieuBaoHanh = phieuBaoHanh.SoPhieuBaoHanh, NgayLap = phieuBaoHanh.NgayLap, NgayGiao = phieuBaoHanh.NgayGiao, TenNhanVien = nhanVien.TenNhanvien, TenKhachHang = phieuBaoHanh.TenKhachHang, SoDienThoai = phieuBaoHanh.SoDienThoai, TrangThai = phieuBaoHanh.TrangThai, DaGiao = phieuBaoHanh.DaGiao }).AsEnumerable().Select(x => new PhieuBaoHanhViewModel() { soPhieuBaoHanh = x.SoPhieuBaoHanh, ngayLap = x.NgayLap, ngayGiao = x.NgayGiao, tenNhanVien = x.TenNhanVien, tenKhachHang = x.TenKhachHang, soDienThoai = x.SoDienThoai, trangThai = x.TrangThai, daGiao = x.DaGiao }).OrderByDescending(x => x.soPhieuBaoHanh).ToList(); return(allForManager); } allForManager = (from phieuBaoHanh in danhSachPhieuBaoHanh join nhanVien in _nhanVienRepo.GetAll() on phieuBaoHanh.MaNhanVien equals nhanVien.MaNhanVien where phieuBaoHanh.TrangThai.Equals(true) select new { SoPhieuBaoHanh = phieuBaoHanh.SoPhieuBaoHanh, NgayLap = phieuBaoHanh.NgayLap, NgayGiao = phieuBaoHanh.NgayGiao, TenNhanVien = nhanVien.TenNhanvien, TenKhachHang = phieuBaoHanh.TenKhachHang, SoDienThoai = phieuBaoHanh.SoDienThoai, TrangThai = phieuBaoHanh.TrangThai, DaGiao = phieuBaoHanh.DaGiao }).AsEnumerable().Select(x => new PhieuBaoHanhViewModel() { soPhieuBaoHanh = x.SoPhieuBaoHanh, ngayLap = x.NgayLap, ngayGiao = x.NgayGiao, tenNhanVien = x.TenNhanVien, tenKhachHang = x.TenKhachHang, soDienThoai = x.SoDienThoai, trangThai = x.TrangThai, daGiao = x.DaGiao }).OrderByDescending(x => x.soPhieuBaoHanh).ToList(); return(allForManager); } }