public static bool CheckDangKyHienTaiCuaLop(string MaLopDK)
 {
     List<HoaDon> dsHDHienTai = dsHDRepo.GetAllCurrent();
     List<DangKyHoc> dsDangKyHoc = dkHocRepo.GetAllsCurrent();
     var dsMaLopCacLopCoDangKy = from hd in dsHDHienTai
                                 join dk in dsDangKyHoc on hd.MaHD equals dk.HoaDon
                                 select new { dk.LopDangKy };
     return dsMaLopCacLopCoDangKy.ToList().Any(x=> x.LopDangKy == MaLopDK);
 }
示例#2
0
        public static DataTable LayDanhSachHocSinh()
        {
            List <DangKyHoc> DsDkHoc  = DKHocRepo.GetAllsCurrent();
            List <HoaDon>    DsHoaDon = HDRepo.GetAllCurrent();
            List <HocSinh>   dsHS     = HocSinhRepo.GetAlls();
            var dsHSvaSoLopDaDangKy   = from hs in dsHS
                                        join hd in DsHoaDon on hs.MaHS equals hd.HocSinh
                                        join dk in DsDkHoc on hd.MaHD equals dk.HoaDon
                                        where (dk.NgayDangKy.Month == DateTime.Now.Month && dk.NgayDangKy.Year == DateTime.Now.Year)
                                        select new
            {
                hs.MaHS,
                hd.TinhTrang
            } into x
            group x by new { x.MaHS } into g
                    select new
            {
                g.First().MaHS,
                g.First().TinhTrang,
                SoluongLopDaDangKy = g.Count()
            };

            var dsHSList = dsHS.FullOuterJoin(dsHSvaSoLopDaDangKy.ToList(), a => a.MaHS, b => b.MaHS, (a, b, MaHS) =>
                                              new
            {
                MaHS,
                a.TenHS,
                a.NgaySinh,
                a.LopHanhChinh.TenLopHC,
                a.NgayNhapHoc,
                a.DiaChi,
                a.TenChaMe,
                a.SDTChaMe,
                b?.SoluongLopDaDangKy,
                b?.TinhTrang
            }
                                              );

            return(GenericServices.ToDataTable(dsHSList.ToList()));
        }
 public static DataTable LayDanhSachLopDangKy(string MaHS)
 {
     List<LopDangKy> dslopDK = LopDangKyRepo.LayDanhSachLopDangKy();
     List<HoaDon> dsHD = dsHDRepo.GetAllCurrent();
     List<HocSinh> dsHS = hsRepo.GetAlls();
     List<DangKyHoc> dsDK = dkhocRepo.GetAllsCurrent();
     var dsLDKMaHSDaThamGiaTrongThang = from ldk in dslopDK
                                        join dk in dsDK on ldk.MaLopDangKy equals dk.LopDangKy
                                        join hd in dsHD on dk.HoaDon equals hd.MaHD
                                        join hs in dsHS on hd.HocSinh equals hs.MaHS
                                        where (hs.MaHS == MaHS && (dk.NgayDangKy.Month == DateTime.Now.Month && dk.NgayDangKy.Year == DateTime.Now.Year))
                                        select new
                                        {
                                            ldk.CLB,
                                            ldk.TenLopDangKy,
                                            ldk.LichHoc,
                                            ldk.MaLopDangKy
                                        };
     var dsLDKHSChuaDangKy = from ldk in dslopDK
                             where !(from ldk1 in dsLDKMaHSDaThamGiaTrongThang.ToList()
                                     select ldk1.MaLopDangKy).Contains(ldk.MaLopDangKy)
                             select ldk;
     var dsComplete = from ldk in dsLDKHSChuaDangKy.ToList()
                      where !dsLDKMaHSDaThamGiaTrongThang.ToList().Any(x => x.LichHoc == ldk.LichHoc) &&
                      !(dsLDKMaHSDaThamGiaTrongThang.ToList().Any(x => x.CLB == ldk.CLB) && dsLDKMaHSDaThamGiaTrongThang.Any(x => x.TenLopDangKy == ldk.TenLopDangKy))
                      select new
                      {
                          ldk.MaLopDangKy,
                          ldk.TenLopDangKy,
                          ldk.CLB1.TenCLB,
                          ldk.CLB,
                          ldk.NamHoc,
                          ldk.HocPhi,
                          ldk.LichHoc
                      };
     return GenericServices.ToDataTable(dsComplete.ToList());
 }