private void dtDanhSach_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                txtMaKTX.Text = ((SinhVienInfo)dsSinhVien[e.RowIndex]).MaKTX;
                txtHoTen.Text = ((SinhVienInfo)dsSinhVien[e.RowIndex]).HoTen;


                SinhVienInfo sv = (SinhVienInfo)dsSinhVien[e.RowIndex];
                dsSinhVien.RemoveAt(e.RowIndex);
                dtDanhSach.Rows.RemoveAt(e.RowIndex);

                dsThanhNhan.Rows.Clear();

                for (int j = 0; j < sv.dsThanhNhan.Count; j++)
                {
                    ThanNhanInfo tn = (ThanNhanInfo)(sv.dsThanhNhan[j]);

                    dsThanhNhan.Rows.Add(new object[] { tn.HoTen.ToString() });
                }
            }
            catch (Exception d)
            {
            }
        }
        private void btnSuaSinhVien_Click(object sender, EventArgs e)
        {
            QLKTX.Controller.SinhVienCtrl svCtrl = new SinhVienCtrl();
            SinhVienInfo sv = new SinhVienInfo();

            sv = svCtrl.LayDiSinhVienTuDanhSach(listSinhVien);


            //dien thong tin cua Sinh vien
            txtCMND.Text      = sv.SoCMDN;
            txtDiaChi.Text    = sv.DiaChi;
            txtDienThoai.Text = sv.DienThoai;
            txtHoTen.Text     = sv.HoTen;
            txtMaKTX.Text     = sv.MaKTX;
            txtMSSV.Text      = sv.MSSV;

            cmbDanToc.SelectedValue   = sv.DanToc.MaDanToc;
            cmbQuocTich.SelectedValue = sv.QuocTich.MaQuocTich;
            cmbTonGiao.SelectedValue  = sv.TonGiao.MaTonGiao;

            dateNgaySinh.Value = sv.Namsinh;

            chkDoanVien.Checked    = sv.DoanVien;
            chkCamTinhDang.Checked = sv.CamTinhDang;
            chkDangVien.Checked    = sv.DangVien;

            chkGioiTinh.Checked = sv.GioiTinh;

            try
            {
                picHinh.Load(sv.HinhAnh);
            }
            catch (Exception i) { i.ToString(); }

            listDSThanNhan.Items.Clear();
            for (int i = 0; i < sv.DSThanNhan.Count; i++)
            {
                ThanNhanInfo tn   = sv.DSThanNhan[i];
                ListViewItem item = new ListViewItem();
                item.Text = ((ThanNhanInfo)tn).MaThanNhan.ToString();
                item.SubItems.Add(((ThanNhanInfo)tn).HoTenThanNhan);
                item.SubItems.Add(((ThanNhanInfo)tn).QuanHe.TenQuanHe);
                item.SubItems.Add(((ThanNhanInfo)tn).NgheNghiep.TenNgheNghep);
                item.Tag = ((ThanNhanInfo)tn);
                listDSThanNhan.Items.Add(item);
            }



            //dien thong tin cua than nhan
        }
        /// <summary>
        /// Thêm một thân nhân
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnThemThanNhan_Click(object sender, EventArgs e)
        {
            if (txtHoTenThanNhan.Text != "" && txtHoTenThanNhan != null)
            {
                ListViewItem row = new ListViewItem();
                row.Text = Convert.ToString(listDSThanNhan.Items.Count + 1);
                row.SubItems.Add(txtHoTenThanNhan.Text.ToString());
                row.SubItems.Add(cmbQuanHeThanNhan.Text);
                row.SubItems.Add(cmbNgheNghiepThanNhan.Text);


                ThanNhanInfo thannhan = new ThanNhanInfo();


                thannhan.MaThanNhan = listDSThanNhan.Items.Count + 1;
                SinhVienInfo sv = new SinhVienInfo();
                sv.MaKTX = txtMaKTX.Text;
                sv.HoTen = txtHoTen.Text;

                thannhan.SinhVien      = sv;
                thannhan.HoTenThanNhan = row.SubItems[1].Text;
                QuanHeInfo qh = new QuanHeInfo();
                qh.MaQuanHe     = (int)cmbQuanHeThanNhan.SelectedValue;
                qh.TenQuanHe    = row.SubItems[2].Text;
                thannhan.QuanHe = qh;

                NgheNghiepInfo nn = new NgheNghiepInfo();
                nn.MaNgheNghiep     = Convert.ToInt32(cmbNgheNghiepThanNhan.SelectedValue);
                nn.TenNgheNghep     = cmbNgheNghiepThanNhan.Text;
                thannhan.NgheNghiep = nn;

                row.Tag = thannhan;

                listDSThanNhan.Items.Add(row);
                //
                txtHoTenThanNhan.Text               = "";
                cmbQuanHeThanNhan.SelectedIndex     = 0;
                cmbNgheNghiepThanNhan.SelectedIndex = 0;
            }
            else
            {
                MessageBox.Show("Chưa nhập đủ thông tin của Thân nhân", "Thân nhân", MessageBoxButtons.OK);
            }
        }
        private void btnThem_Click(object sender, EventArgs e)
        {
            txtHoTen.Focus();
            SinhVienInfo sv = new SinhVienInfo();

            ThanNhanInfo[] tn = new ThanNhanInfo[dsThanhNhan.Rows.Count];

            sv.HoTen    = txtHoTen.Text;
            sv.GioiTinh = chkGioiTinh.Checked;
            for (int i = 0; i < dsThanhNhan.Rows.Count - 1; i++)
            {
                tn[i]        = new ThanNhanInfo();
                tn[i].HoTen  = dsThanhNhan.Rows[i].Cells[0].Value.ToString();
                tn[i].QuanHe = 1;
                sv.dsThanhNhan.Add(tn[i]);
            }
            dsSinhVien.Add(sv);

            dtDanhSach.Rows.Add(new Object[] {
                ((SinhVienInfo)dsSinhVien[dsSinhVien.Count - 1]).MaKTX,
                ((SinhVienInfo)dsSinhVien[dsSinhVien.Count - 1]).HoTen
            });
            txtHoTen.Text = txtMaKTX.Text = "";
        }
        private void btnThem_Click(object sender, EventArgs e)
        {
            //Kiem Tra tai day
            if (SVCtrl.KiemTra(txtHoTen, dateNgaySinh, txtDiaChi, txtMSSV, txtCMND, txtDienThoai, cmbQuocTich, cmbDanToc, cmbTonGiao))
            {
                SinhVienInfo SV = new SinhVienInfo();
                SV.CamTinhDang = chkCamTinhDang.Checked;
                SV.SoCMDN      = txtCMND.Text;
                SV.DangVien    = chkDangVien.Checked;

                DanTocInfo dantoc = new DanTocInfo();
                dantoc.MaDanToc  = (int)cmbDanToc.SelectedValue;
                dantoc.TenDanToc = cmbDanToc.Text;
                SV.DanToc        = dantoc;

                SV.DiaChi    = txtDiaChi.Text;
                SV.DienThoai = txtDienThoai.Text;
                SV.DoanVien  = chkDoanVien.Checked;
                SV.GioiTinh  = chkGioiTinh.Checked;
                SV.HoTen     = txtHoTen.Text;
                SV.MaKTX     = txtMaKTX.Text;
                SV.MSSV      = txtMSSV.Text;
                SV.Namsinh   = dateNgaySinh.Value;

                QuocTichInfo quoctich = new QuocTichInfo();
                quoctich.MaQuocTich  = (int)cmbQuocTich.SelectedValue;
                quoctich.TenQuocTich = cmbQuocTich.Text;
                SV.QuocTich          = quoctich;

                TonGiaoInfo tongiao = new TonGiaoInfo();
                tongiao.MaTonGiao  = (int)cmbTonGiao.SelectedValue;
                tongiao.TenTonGiao = cmbTonGiao.Text;
                SV.TonGiao         = tongiao;
                if (picHinh.ImageLocation == null)
                {
                    SV.HinhAnh = "";
                }
                else
                {
                    SV.HinhAnh = picHinh.ImageLocation.ToString();
                }

                IEnumerator ds = listDSThanNhan.Items.GetEnumerator();
                while (ds.MoveNext())
                {
                    ListViewItem item = (ListViewItem)ds.Current;
                    ThanNhanInfo tn   = (ThanNhanInfo)item.Tag;// (ThanhNhanInfo)item.Tag;
                    tn.SinhVien = SV;
                    SV.DSThanNhan.Add(tn);
                }

                ListViewItem row = new ListViewItem();
                row.Text = SV.HoTen;
                row.SubItems.Add(SV.GioiTinh == true?"Nam":"Nữ");
                row.Tag = SV;
                listSinhVien.Items.Add(row);


                //Xoa Du Lieu tren Form
                txtCMND.Text           = "";
                txtDiaChi.Text         = "";
                txtDienThoai.Text      = "";
                txtHoTen.Text          = "";
                txtHoTen.Text          = "";
                txtMaKTX.Text          = "";
                txtMSSV.Text           = "";
                chkCamTinhDang.Checked = false;
                chkDangVien.Checked    = false;
                chkDoanVien.Checked    = false;
                chkGioiTinh.Checked    = false;

                listDSThanNhan.Items.Clear();//Xóa ListView DS Thân nhân

                ///Lay MSSV tu dong
                txtMaKTX.Text = SVCtrl.LayMaKTXTuDanhSach(listSinhVien);
                picHinh.Image = null;
            }
        }