private void btnSuaCTHD_Click(object sender, EventArgs e)
 {
     if (kttxtCTHD())
     {
         DialogResult dlr = MessageBox.Show("Bạn có chắc muốn sửa dữ liệu của chi tiết hóa đơn này?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
         if (dlr == DialogResult.Yes)
         {
             String sql = "update ct_hd_dichvu set soluongdv = " + int.Parse(txtSoLuong.Text.Trim()) + " where sohd = '" + cbboxMaHD.SelectedItem.ToString().Trim() + "' and madv = '" + DICHVUDAO.MaDVTheoTenDV(QuanLyDichVu.dsDV, cbboxTenSP.SelectedItem.ToString().Trim()) + "' exec dbo.thanhtiencthddv @sohd = '" + cbboxMaHD.SelectedItem.ToString().Trim() + "', @madv = '" + DICHVUDAO.MaDVTheoTenDV(QuanLyDichVu.dsDV, cbboxTenSP.SelectedItem.ToString().Trim()) + "' exec dbo.tongtienhddv @sohd = '" + cbboxMaHD.SelectedItem.ToString().Trim() + "'";
             cn.themxoasua(sql);
             CHITIETHOADONDVDAO.SuaCTHDDV(dsCTHDDV, cbboxMaHD.SelectedItem.ToString().Trim(), DICHVUDAO.MaDVTheoTenDV(QuanLyDichVu.dsDV, cbboxTenSP.SelectedItem.ToString().Trim()), int.Parse(txtSoLuong.Text.Trim()));
             DataGridViewRow row = dgvCTHDDV.Rows[indexCTHDDV];
             row.Cells[2].Value = int.Parse(txtSoLuong.Text.Trim());
             row.Cells[3].Value = int.Parse(txtSoLuong.Text.Trim()) * DICHVUDAO.GiaMaDV(QuanLyDichVu.dsDV, DICHVUDAO.MaDVTheoTenDV(QuanLyDichVu.dsDV, cbboxTenSP.SelectedItem.ToString().Trim()));
             txtTongTien.Text   = "" + tongtien();
             MessageBox.Show("Sửa thành công");
         }
     }
 }
 public void loaddulieuchitiethoadondichvu()
 {
     dgvCTHDDV.Rows.Clear();
     foreach (CHITIETHOADON cthd in dsCTHDDV)
     {
         dgvCTHDDV.Rows.Add(cthd.getMahd(), DICHVUDAO.TenDV(QuanLyDichVu.dsDV, cthd.getMasp()), cthd.getSoluong(), cthd.thanhtien(DICHVUDAO.GiaMaDV(QuanLyDichVu.dsDV, cthd.getMasp())));
     }
 }
 private void btnLuuCTHD_Click(object sender, EventArgs e)
 {
     if (kttxtCTHD() && ktmahddvmadvtrung())
     {
         DialogResult dlr = MessageBox.Show("Bạn có chắc muốn thêm dữ liệu cho chi tiết hóa đơn này?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
         if (dlr == DialogResult.Yes)
         {
             String sql = "insert into ct_hd_dichvu values ('" + cbboxMaHD.SelectedItem.ToString().Trim() + "', '" + DICHVUDAO.MaDVTheoTenDV(QuanLyDichVu.dsDV, cbboxTenSP.SelectedItem.ToString().Trim()) + "', " + int.Parse(txtSoLuong.Text.Trim()) + ", " + int.Parse(txtSoLuong.Text.Trim()) + " * " + DICHVUDAO.GiaMaDV(QuanLyDichVu.dsDV, DICHVUDAO.MaDVTheoTenDV(QuanLyDichVu.dsDV, cbboxTenSP.SelectedItem.ToString().Trim())) + ")";
             cn.themxoasua(sql);
             CHITIETHOADONDVDAO.ThemCTHDDV(dsCTHDDV, cbboxMaHD.SelectedItem.ToString().Trim(), DICHVUDAO.MaDVTheoTenDV(QuanLyDichVu.dsDV, cbboxTenSP.SelectedItem.ToString().Trim()), int.Parse(txtSoLuong.Text.Trim()));
             dgvCTHDDV.Rows.Add(cbboxMaHD.SelectedItem.ToString().Trim(), cbboxTenSP.SelectedItem.ToString().Trim(), int.Parse(txtSoLuong.Text.Trim()), int.Parse(txtSoLuong.Text.Trim()) * DICHVUDAO.GiaMaDV(QuanLyDichVu.dsDV, DICHVUDAO.MaDVTheoTenDV(QuanLyDichVu.dsDV, cbboxTenSP.SelectedItem.ToString().Trim())));
             cbboxTenSP.Enabled  = false;
             txtSoLuong.Enabled  = false;
             txtTongTien.Enabled = false;
             btnThemCTHD.Enabled = true;
             btnLuuCTHD.Enabled  = false;
             txtTongTien.Text    = "" + tongtien();
             MessageBox.Show("Thêm thành công");
         }
     }
 }
        private void cbboxMaHD_SelectedIndexChanged(object sender, EventArgs e)
        {
            dgvCTHDDV.Rows.Clear();
            dgvCTHDDV.Enabled   = true;
            btnThemCTHD.Enabled = true;
            btnIn.Enabled       = true;
            List <CHITIETHOADON> ds = CHITIETHOADONDVDAO.dsCTHDDVTheoMaHD(dsCTHDDV, cbboxMaHD.SelectedItem.ToString().Trim());

            foreach (CHITIETHOADON cthd in ds)
            {
                dgvCTHDDV.Rows.Add(cthd.getMahd(), DICHVUDAO.TenDV(QuanLyDichVu.dsDV, cthd.getMasp()), cthd.getSoluong(), cthd.thanhtien(DICHVUDAO.GiaMaDV(QuanLyDichVu.dsDV, cthd.getMasp())));
            }
            txtTongTien.Text = "" + tongtien();
        }