public List <CBCPhieuThuModel> getDSPhieuThuReport(string maPT) { var query = TimPT(maPT); var i = 1; var all = (from a in query.AsEnumerable() join b in tc.getDSCTDKDichVu() on a.PhieuSDDVID equals b.PhieuSDDVID into val from b in val.DefaultIfEmpty() select new CBCPhieuThuModel { STT = i++, NgayLap = a.NgayLap, MaPhieuThu = a.MaPhieuThu, TenBenhNhan = a.PhieuSDDV.PhieuDKKham.BenhNhan.HoTen, TenNhanVien = a.NhanVien.HoTen, DiaChi = a.PhieuSDDV.PhieuDKKham.BenhNhan.DiaChi, GioiTinh = a.PhieuSDDV.PhieuDKKham.BenhNhan.GioiTinh, NamSinh = a.PhieuSDDV.PhieuDKKham.BenhNhan.NgaySinh, TenDV = b.DichVu.TenDichVu, GiaDV = b.DichVu.DonGiaDichVu, TongTien = a.TongTien, MaPhieuDDK = a.PhieuSDDV.PhieuDKKham.MaPhieuDKK, NhanVienLapPhieuSDDV = a.PhieuSDDV.NhanVien.HoTen }).ToList(); return(all); }