//Sửa một sổ tạm trú
        private void btnSua_Click(object sender, EventArgs e)
        {
            if (!isInputTrueSoTamTru())
            {
                MessageBox.Show("Vui lòng nhập đủ thông tin!");
                return;
            }

            string sosotamtru = txt_SoSoTamTru.Text.ToString();

            string machuhotamtru = sotamtruBus.convertTentoMaNhanKhauTamTru(cbb_MaChuHo.Text.ToString(), sosotamtru);

            //Kiểm tra sự tồn tại của mã số sổ tạm trú
            if (!sotamtruBus.ExistedSoTamTru(sosotamtru))
            {
                MessageBox.Show("Sổ tạm trú " + sosotamtru + " chưa tồn tại ! vui lòng kiểm tra lại!");
                return;
            }

            //Kiểm tra sự tồn tại của mã nhân khẩu tạm trú để làm chủ hộ
            if (!sotamtruBus.Existed_NhanKhauTamTru(machuhotamtru))
            {
                MessageBox.Show("Chưa đăng ký tạm trú cho nhân khẩu có mã " + machuhotamtru + " !");
                return;
            }
            //Kiểm tra chủ hộ này có nằm trong một sổ tạm trú khác hay không?
            if (sotamtruBus.Duplicated_NhanKhauTamTru(machuhotamtru, sosotamtru))
            {
                MessageBox.Show("Nhân khẩu tạm trú " + machuhotamtru + " đang ở trong sổ tạm trú khác!");
                return;
            }

            //Không cho sửa ngày đăng ký và ngày kết thúc sổ tạm trú

            SoTamTruBUS Sotamtru = new SoTamTruBUS();

            DateTime TuNgay  = sotamtruBus.TimNgayDangKyTamTru(sosotamtru);
            DateTime DenNgay = sotamtruBus.ThoiHanSoTamTru(sosotamtru);

            if (TuNgay != dt_TuNgay.Value.Date || DenNgay != dt_DenNgay.Value.Date)
            {
                MessageBox.Show("Không được phép sửa ngày đăng ký và ngày hết hạn sổ tạm trú");
                return;
            }


            machuhotamtru = Sotamtru.convertTentoMaNhanKhauTamTru(cbb_MaChuHo.Text.ToString(), sosotamtru);

            DialogResult dialogResult = MessageBox.Show("Bạn có muốn cập nhật thông tin sổ tạm trú " + sosotamtru + " không?", "Thông báo", MessageBoxButtons.YesNo);

            if (dialogResult == DialogResult.Yes)
            {
                int r = dataGridView1.CurrentCell.RowIndex;

                string   choohiennay = txt_NoiTamTru.Text.ToString();
                DateTime tungay      = TuNgay;
                DateTime denngay     = DenNgay;


                SoTamTruDTO sotamtru = new SoTamTruDTO(sosotamtru, machuhotamtru, choohiennay, tungay, denngay);

                if (sotamtruBus.Update(sotamtru, r))
                {
                    MessageBox.Show("Sửa thông tin sổ tạm trú " + sosotamtru + " thành công!");
                    LoadDataGridView();
                    ResetValueInput();
                    dataGridView1.DataSource = sotamtruBus.TimKiem(sotamtru.SoSoTamTru).Tables[0];
                }
                else
                {
                    MessageBox.Show("Sửa thông tin sổ tạm trú " + sosotamtru + " thất bại!");
                }
            }
            else if (dialogResult == DialogResult.No)
            {
            }
        }
        private void btnTimKiem_Click(object sender, EventArgs e)
        {
            string value = tbTimKiem.Text.ToString();

            if (value == "")
            {
                MessageBox.Show("Vui lòng nhập một giá trị!");
                return;
            }

            //if (rdHoKhau.Checked)
            //{
            //    if(/*3 tầng tìm kiếm hộ khẩu, sổ tạm trú*/ false)

            //    {
            //        MessageBox.Show(this, "Không thể tìm thấy hộ khẩu(sổ tạm trú)!", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
            //        return;
            //    }
            //if(/*là hộ khẩu*/ true)
            //using (SoHoKhauGUI a = new SoHoKhauGUI(tbTimKiem.Text))
            //{
            // DataSet ds = shk.TimKiem("sosohokhau='" + tbTimKiem.Text + "'");
            //DataRow dt = ds.Tables["sohokhau"].Rows[0];
            //a.ShowDialog(this);
            //shkDTO = new SoHoKhauDTO(dt["sosohokhau"].ToString(), dt["machuho"].ToString(), dt["diachi"].ToString()
            //    , (DateTime)dt["ngaycap"], dt["sodangky"].ToString());

            //            shkDTO = a.shkDTO;
            //    }
            //}
            //else
            //{
            //    if (/*3 tầng tìm kiếm nhân khẩu thường trú, tạm trú*/ false)

            //    {
            //        MessageBox.Show(this, "Không thể tìm thấy nhân khẩu!", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
            //        return;
            //    }
            //if (/*là nhân khẩu thường trú*/ true)
            //    using (NhanKhauThuongTruGUI a = new NhanKhauThuongTruGUI(tbTimKiem.Text,-1))
            //    {
            //DataSet ds = shk.TimKiem("sosohokhau='" + tbTimKiem.Text + "'");
            //DataRow dt = ds.Tables["sohokhau"].Rows[0];
            //a.ShowDialog(this);
            //shkDTO = new SoHoKhauDTO(dt["sosohokhau"].ToString(), dt["machuho"].ToString(), dt["diachi"].ToString()
            //    , (DateTime)dt["ngaycap"], dt["sodangky"].ToString());
            //            nkthDTO = a.nkttDTO;
            //        }
            //}
            DataSet dt = new DataSet();

            // tìm trong sổ hộ khẩu
            if (rdHoKhau.Checked)
            {
                shk = new SoHoKhauBUS();
                dt  = shk.TimKiem("sosohokhau='" + value + "'");
                if (dt.Tables[0].Rows.Count > 0)
                {
                    SoHoKhauGUI fr_SoHoKhau = new SoHoKhauGUI(value);
                    fr_SoHoKhau.ShowDialog();
                }
                else
                {
                    MessageBox.Show("Không tìm thấy sổ hộ khẩu: " + value);
                }
                return;
            }

            //Tìm trong sổ tạm trú
            if (rdTamTru.Checked)
            {
                stt = new SoTamTruBUS();
                dt  = stt.TimKiem(value);
                if (dt.Tables[0].Rows.Count > 0)
                {
                    SoTamTruGUI fr_SoTamTru = new SoTamTruGUI(value);
                    fr_SoTamTru.ShowDialog();
                }
                else
                {
                    MessageBox.Show("Không tìm thấy sổ tạm trú: " + value);
                }
                return;
            }


            //Tìm nhân khẩu tạm trú hoặc thường thú
            if (rdNhanKhau.Checked)
            {
                //Tìm trong bảng nhân khẩu thường trú
                nkthuongtru = new NhanKhauThuongTruBUS();
                dt          = nkthuongtru.TimKiem("madinhdanh='" + value + "'");
                if (dt.Tables[0].Rows.Count > 0)
                {
                    NhanKhauThuongTruGUI fr_NhanKhauThuongTru = new NhanKhauThuongTruGUI(value, 0);
                    fr_NhanKhauThuongTru.ShowDialog();
                    return;
                }


                //Tìm trong bảng nhân khẩu tạm trú
                nktamtru = new NhanKhauTamTruBUS();
                dt       = nktamtru.TimKiem(value);
                if (dt.Tables[0].Rows.Count > 0)
                {
                    NhanKhauTamTruGUI fr_NhanKhauTamTru = new NhanKhauTamTruGUI(value, "1");
                    fr_NhanKhauTamTru.ShowDialog();
                    return;
                }

                MessageBox.Show("Không tìm thấy nhân khẩu có mã định danh:" + value);

                return;
            }
        }