//sự kiện click cho nút update
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            try
            {
                decimal tien = 0;//tiền = 0

                //thao tác với nút lệnh
                dvg.Enabled       = true;
                txtMa.Enabled     = false;
                btnDelete.Enabled = true;

                //lấy dữ liệu
                int      maPhieu       = Int32.Parse(txtMa.Text.ToString());
                DateTime ngayThanhToan = dtNgayThanhToan.Value;
                int      thangSuDung   = Int32.Parse(txtThangSuDung.Text.ToString());
                int      maHD          = Int32.Parse(cbMaHD.Text.ToString());
                tien = Decimal.Parse(txtThanhTien.Text.ToString());

                if (insert == 0)//update
                {
                    try
                    {
                        var phieuThu = context.PhieuThanhToans
                                       .Where(s => s.MaPhieu == maPhieu).First();//tìm phiếu thanh toán
                        //cập nhập giá trị
                        phieuThu.NgayThanhToan = ngayThanhToan;
                        phieuThu.ThangSuDung   = thangSuDung;
                        phieuThu.ThanhTien     = tien;
                        phieuThu.MaHD          = maHD;
                    }//end try
                    catch (Exception)//lỗi
                    {
                        MessageBox.Show("Loi! Vui long kiem tra lai thong tin", "Loi",
                                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                        LoadData();
                        return;
                    } //end cathch
                }     //end if
                else  //insert
                {
                    try
                    {
                        PhieuThanhToan phieuThu = new PhieuThanhToan();//tạo
                        //gán trị
                        phieuThu.MaPhieu       = maPhieu;
                        phieuThu.NgayThanhToan = dtNgayThanhToan.Value;
                        phieuThu.ThangSuDung   = Int32.Parse(txtThangSuDung.Text);
                        phieuThu.ThanhTien     = tien;
                        phieuThu.MaHD          = Int32.Parse(cbMaHD.Text);
                        context.PhieuThanhToans.Add(phieuThu); //thêm
                    }//end try
                    catch (Exception)                          //lỗi
                    {
                        MessageBox.Show("Loi! Vui long kiem tra lai thong tin", "Loi",
                                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                        LoadData();
                        return;
                    }//end catch
                    insert = 0;//tắt cờ insert
                }


                context.SaveChanges();//lưu
                //thông báo thành công
                MessageBox.Show("Thanh cong!", "Thong bao",
                                MessageBoxButtons.OK, MessageBoxIcon.Information);
            }//end try
            catch (Exception)//lỗi
            {
                MessageBox.Show("Loi! Vui long kiem tra lai thong tin", "Loi",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            LoadData();
        }
        //sự kiện cbPhongTro_SelectedIndexChanged
        private void cbPhongTro_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                int maPhong = Int32.Parse(cbPhongTro.Text);                            //lấy mã phòng
                txtTenPhong.Text = context.PhongTroes
                                   .Where(s => s.MaPhong == maPhong).First().TenPhong; //hiện tên phòng

                var dsmaHD = context.ChiTietHopDongs
                             .Where(s => s.MaPhong == maPhong).Select(s => s.MaHD);//danh sách mã hợp đồng

                //PhieuThanhToan
                List <PhieuThanhToan> dsPhieuThu = new List <PhieuThanhToan>(); //tạo
                foreach (var maHD in dsmaHD)                                    //đi từng hợp đồng
                {
                    //tìm Phiếu thanh toán
                    var phieuThu = (from s in context.PhieuThanhToans
                                    where s.MaHD == maHD
                                    select new
                    {
                        s.MaPhieu,
                        s.NgayThanhToan,
                        s.ThangSuDung,
                        s.ThanhTien,
                        s.MaHD
                    }).Distinct().ToList();
                    foreach (var temp  in phieuThu)                           //đi từng phiếu
                    {
                        PhieuThanhToan phieuThanhToan = new PhieuThanhToan(); //tạo
                        //gán giá trị
                        phieuThanhToan.MaPhieu       = temp.MaPhieu;
                        phieuThanhToan.NgayThanhToan = temp.NgayThanhToan;
                        phieuThanhToan.ThangSuDung   = temp.ThangSuDung;
                        phieuThanhToan.ThanhTien     = temp.ThanhTien;
                        phieuThanhToan.MaHD          = temp.MaHD;
                        dsPhieuThu.Add(phieuThanhToan);//thêm vào list
                    }
                }
                dvgPhieuThu.DataSource = dsPhieuThu;//đổ dữ liệu lên dvgPhieuThu


                //Dịch Vụ
                var dsMaChiTietHD = context.ChiTietHopDongs
                                    .Where(s => s.MaPhong == maPhong).Select(s => s.MaChiTietHD)
                                    .Distinct().ToList(); //danh sách mã Chi Tiết hợp đồng

                var dsDV = new List <DichVu>();           //tạo
                foreach (var temp in dsMaChiTietHD)       //đi từng chi tiết hợp đồng
                {
                    var temp1 = context.ChiTietDichVus
                                .Where(s => s.MaChiTietHD == temp).Select(s => s.MaDV)
                                .Distinct().ToList();                //danh sách mã chi tiết dịch vụ
                    foreach (var temp2 in temp1)                     //đi từng mã chi tiết dịch vụ
                    {
                        if (dsDV.Any(s => s.MaDV == temp2) == false) //đã có dịch vụ đó
                        {
                            DichVu dv = context.DichVus
                                        .Where(s => s.MaDV == temp2).First(); //tìm dịch vụ
                            DichVu temp3 = new DichVu();                      //tạo
                            //gán giá trị
                            temp3.GiaDV = dv.GiaDV;
                            temp3.MaDV  = dv.MaDV;
                            temp3.TenDV = dv.TenDV;
                            dsDV.Add(temp3);//thêm vào list
                        }
                    }
                }
                dvgDV.DataSource = dsDV;//đổ dữ liệu lên dvgDV

                //Khách Hàng
                List <KhachHang> dsKH = new List <KhachHang>(); //tạo
                foreach (var maHD in dsmaHD)                    //đi từng mã hợp đồng
                {
                    var kh = context.HopDongThues
                             .Where(s => s.MaHD == maHD).Select(s => s.KhachHang)
                             .Distinct().ToList();         //danh sách khách hàng
                    foreach (var temp in kh)               //đi từng khách hàng
                    {
                        KhachHang temp1 = new KhachHang(); //tạo
                        //gán giá trị
                        temp1.MaKhach     = temp.MaKhach;
                        temp1.TenKhach    = temp.TenKhach;
                        temp1.CMND        = temp.CMND;
                        temp1.GioiTinh    = temp.GioiTinh;
                        temp1.DiaChiKhach = temp.DiaChiKhach;
                        temp1.NgheNghiep  = temp.NgheNghiep;
                        temp1.SdtKhach    = temp.SdtKhach;
                        temp1.HinhAnhKH   = temp.HinhAnhKH;
                        dsKH.Add(temp1);//thêm vào list
                    }//
                }//
                dvgKH.DataSource = dsKH; //đỏ dữ liệu lên dvgKH
            }//end try
            catch (Exception)            //lỗi
            {
                MessageBox.Show("Loi load du lieu!", "Loi",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }