예제 #1
0
        /// <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));
        }
예제 #3
0
 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));
        }
예제 #5
0
 /// <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));
 }