/// <summary> /// Tìm kiếm học sinh /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void simpleButtonSearch_Click(object sender, EventArgs e) { DataTable kqTimKiemDS; var hsTimKiemDTO = new HocSinhTimKiemDTO { MaHocSinh = textEditMaHocSinh.Text, TenHocSinh = textBoxTenHocSinh.Text }; //lấy giá trị của radioGioiTinh if (checkEditGioiTinh.Checked) { hsTimKiemDTO.GioiTinh = radioGroupGioiTinh.SelectedIndex; } else { hsTimKiemDTO.GioiTinh = -1; } if (checkEditNamSinh.Checked) { hsTimKiemDTO.NamSinhTu = Convert.ToInt32(spinEditNamSinhTu.Value); hsTimKiemDTO.NamSinhDen = Convert.ToInt32(spinEditNamSinhDen.Value); } else { hsTimKiemDTO.NamSinhTu = 0; hsTimKiemDTO.NamSinhDen = 0; } hsTimKiemDTO.Email = textEditEmail.Text; hsTimKiemDTO.DiaChi = textEditDiaChi.Text; try { if (hsTimKiemDTO.NamSinhDen < hsTimKiemDTO.NamSinhTu) { MsgboxUtil.Error("Khoảng cách năm sinh không hợp lệ!"); return; } if (radioGroupTimTrong.SelectedIndex == 1) // Chi tim trong ho so hoc sinh { kqTimKiemDS = _hocSinhBUS.TimKiem_HocSinh_ChuaPhanLop(hsTimKiemDTO); } else { if (checkEditTatCaNam.Checked) // Tìm trong tất cả các năm, các lớp { kqTimKiemDS = _hocSinhBUS.TimKiem_HocSinh(hsTimKiemDTO); } else // Nếu ko chọn tìm kiếm tất cả các năm => Tìm kiếm trong tất cả các lớp được checked { var lopCheck = new List <string>(); foreach (TreeListNode khoi in treeListSearch.Nodes) { foreach (TreeListNode lop in khoi.Nodes) { if (lop.Checked) { lopCheck.Add(lop.GetValue("MaKhoi").ToString()); } } } kqTimKiemDS = _hocSinhBUS.TimKiem_HocSinh(hsTimKiemDTO, lopCheck); } } } catch (Exception ex) { MsgboxUtil.Error(ex); return; } if (kqTimKiemDS.Rows.Count == 0) { MsgboxUtil.Error("Không tìm thấy học sinh!"); } gridControlSearchHocSinh.DataSource = kqTimKiemDS; }
/// <summary> /// Tìm kiếm tất cả học sinh kể cả học sinh chưa phân lớp /// </summary> /// <param name="hs"></param> /// <returns></returns> public DataTable Tim_HoSo_KoPhanLop(HocSinhTimKiemDTO hs) { var hsResult = new List <HocSinhDTO>(); string oper = " LIKE "; string per = "%"; string sql = " SELECT distinct h.MaHocSinh, TenHocSinh, " + " GioiTinh = (CASE GioiTinh WHEN 0 THEN N'Nam' " + " WHEN 1 THEN N'Nữ' END), " + " NgaySinh, NoiSinh, " + " Email, DiaChi " + " FROM HOCSINH h WHERE NOT EXISTS (SELECT * FROM PHANLOP p WHERE h.MaHocSinh = p.MaHocSinh) "; string where = ""; // Mã học sinh if (!hs.MaHocSinh.Equals("")) { where += " AND MaHocSinh " + oper + "'" + per + hs.MaHocSinh + per + "' "; } //tên học sinh if (!hs.TenHocSinh.Equals("")) { where += "AND (TenHocSinh " + oper + "N'" + per + hs.TenHocSinh + per + "' "; where += " OR dbo.fnChuyenKhongDau(TenHocSinh) " + oper + "N'" + per + hs.TenHocSinh + per + "' )"; } //giới tính if (!hs.GioiTinh.Equals(-1)) { where += " AND GioiTinh = " + hs.GioiTinh + " "; } //năm sinh từ if (!hs.NamSinhTu.Equals(0)) { where += "AND YEAR(NgaySinh) >='" + hs.NamSinhTu + "' "; } //năm sinh đến if (!hs.NamSinhDen.Equals(0)) { where += "AND YEAR(NgaySinh) <='" + hs.NamSinhDen + "' "; } //email if (!hs.Email.Equals("")) { where += " AND Email " + oper + "'" + per + hs.Email + per + "' "; } //địa chỉ if (!hs.DiaChi.Equals("")) { where += " AND (DiaChi " + oper + "'" + per + hs.DiaChi + per + "' "; where += " OR dbo.fnChuyenKhongDau(DiaChi) " + oper + "N'" + per + hs.DiaChi + per + "') "; } sql += where; // thực hiện query return(GetTable(sql)); }
public DataTable TimKiem_HocSinh_ChuaPhanLop(HocSinhTimKiemDTO hs) { return(_hocSinhDAL.Tim_HoSo_KoPhanLop(hs)); }
/// <summary> /// Tìm kiếm học sinh đã phân lớp /// </summary> /// <param name="hs">Object: HocSinhTimKiem - Thông tin học sinh tìm kiếm</param> /// <param name="dsMaLop">Default: NULL (Tìm tất cả các năm) || Tìm trong các lớp</param> /// <returns>DataTable HocSinh</returns> public DataTable Tim_HoSo(HocSinhTimKiemDTO hs, List <string> dsMaLop = null) { var hsResult = new List <HocSinhDTO>(); string oper = " LIKE "; string per = "%"; string sql = "SELECT distinct hsinh.MaHocSinh, TenHocSinh, " + " GioiTinh = (CASE GioiTinh WHEN 0 THEN N'Nam' " + " WHEN 1 THEN N'Nữ' END), " + " NgaySinh, NoiSinh, " + " Email, DiaChi, TenLop, lop.MaLop, TenGiaoVien " + " FROM HOCSINH hsinh, GIAOVIEN gvien, LOP lop, PHANLOP plop" + " WHERE lop.MaGiaoVien=gvien.MaGiaoVien AND lop.MaLop=plop.MaLop AND" + " plop.MaHocSinh=hsinh.MaHocSinh "; string where = ""; // Mã học sinh if (!hs.MaHocSinh.Equals("")) { where += " AND hsinh.MaHocSinh " + oper + "'" + per + hs.MaHocSinh + per + "' "; } //tên học sinh if (!hs.TenHocSinh.Equals("")) { where += " AND (TenHocSinh " + oper + "N'" + per + hs.TenHocSinh + per + "' "; where += " OR dbo.fnChuyenKhongDau(TenHocSinh) " + oper + "N'" + per + hs.TenHocSinh + per + "' )"; } //giới tính if (!hs.GioiTinh.Equals(-1)) { where += "AND GioiTinh = " + hs.GioiTinh + " "; } //năm sinh từ if (!hs.NamSinhTu.Equals(0)) { where += "AND YEAR(NgaySinh) >='" + hs.NamSinhTu + "' "; } //năm sinh đến if (!hs.NamSinhDen.Equals(0)) { where += "AND YEAR(NgaySinh) <='" + hs.NamSinhDen + "' "; } //email if (!hs.Email.Equals("")) { where += " AND Email " + oper + "'" + per + hs.Email + per + "' "; } //địa chỉ if (!hs.DiaChi.Equals("")) { where += " AND (DiaChi " + oper + "'" + per + hs.DiaChi + per + "' "; where += "OR dbo.fnChuyenKhongDau(DiaChi) " + oper + "N'" + per + hs.DiaChi + per + "') "; } // Nếu tìm trong trong các lớp if (dsMaLop != null) { string maLop = ""; for (int i = 0; i < dsMaLop.Count; i++) { string comma = ""; if (i != (dsMaLop.Count - 1)) { comma = "','"; } maLop += dsMaLop[i] + comma; } where += "AND hsinh.MaHocSinh in (SELECT DISTINCT plop2.MaHocSinh FROM PHANLOP plop2 WHERE plop2.MaLop in ('" + maLop + "')) "; where += "AND plop.MaLop in('" + maLop + "')"; } sql += where; // thực hiện query return(GetTable(sql)); }
/// <summary> /// Tìm kiếm học sinh /// </summary> /// <param name="hs">Object: HocSinhTimKiem - Thông tin học sinh tìm kiếm</param> /// <param name="DS_MaLop">Default: NULL (Tìm tất cả các năm) || Tìm trong các lớp</param> /// <returns>DataTable HocSinh</returns> public DataTable TimKiem_HocSinh(HocSinhTimKiemDTO hs, List <string> DS_MaLop = null) { return(_hocSinhDAL.Tim_HoSo(hs, DS_MaLop)); }