private void cbbSDTKH_TextChanged_1(object sender, EventArgs e)
        {
            string str;

            if (cbbSDTKH.Text == "")
            {
                txtTenKH.Text = "";
            }
            //Khi chọn SDT Tên khách tự động hiện ra
            try
            {
                str           = "SELECT TenKhach FROM tblKhachHang WHERE idKhachHang =N'" + cbbSDTKH.SelectedValue.ToString() + "'";
                txtTenKH.Text = DAO_Bill.SimpleRead(str);



                // Khi chọn sdT ten khach  tự động hiện ra
                str             = "SELECT idKhachHang FROM tblKhachHang WHERE idKhachHang =N'" + cbbSDTKH.SelectedValue.ToString() + "'";
                txtMaKhach.Text = DAO_Bill.SimpleRead(str);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Lỗi: " + ex.Message);
            }



            //// Khi chọn sdT ma khach  tự động hiện ra
            //str = "SELECT idKhachHang FROM tblKhachHang WHERE DienThoai =N'" + cbbSDTKH.SelectedValue.ToString() + "'";
            //txtMaKhach.Text = DAO_Bill.SimpleRead(str);
        }
        private void LoadInfoHoaDon()
        {
            string str;

            str                = "SELECT NgayBan FROM tblHoaDon WHERE idHoaDon = N'" + txtMaHoaDon.Text + "'";
            dtpNgayBan.Text    = DAO_Bill.ConvertDateTime(DAO_Bill.SimpleRead(str));
            str                = "SELECT nv.TenNV FROM tblHoaDon hd JOIN dbo.tblNhanVien nv ON nv.iDNhanVien = hd.iDNhanVien WHERE idHoaDon = '" + txtMaHoaDon.Text + "'";
            cbbMaNhanVien.Text = DAO_Bill.SimpleRead(str);
            str                = " SELECT kh.DienThoai FROM dbo.tblHoaDon hd JOIN dbo.tblKhachHang kh ON kh.iDKhachHang = hd.iDKhachHang WHERE hd.idHoaDon = '" + txtMaHoaDon.Text + "'";
            cbbSDTKH.Text      = DAO_Bill.SimpleRead(str);
            str                = "SELECT TongTien FROM tblHoaDon WHERE idHoaDon = N'" + txtMaHoaDon.Text + "'";
            txtTongTien.Text   = DAO_Bill.SimpleRead(str);
            txtthanhtoan.Text  = DAO_Bill.SimpleRead(str);
            lblBangChu.Text    = "Bằng chữ: " + DAO_Bill.ChuyenSoSangChu(double.Parse(txtTongTien.Text));
        }
        private void btnxoa_Click(object sender, EventArgs e)
        {
            double sl, slcon, slxoa;

            try
            {
                if (MessageBox.Show("Bạn có chắc chắn muốn xóa không?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    string    sql     = "SELECT idCTHang,SoLuong FROM tblCT_HoaDon WHERE idHoadon = N'" + txtMaHoaDon.Text + "'";
                    DataTable tblHang = DAO_Bill.GetDataToTable(sql);
                    for (int hang = 0; hang <= tblHang.Rows.Count - 1; hang++)
                    {
                        // Cập nhật lại số lượng cho các mặt hàng
                        sl    = Convert.ToDouble(DAO_Bill.SimpleRead("SELECT SoLuong FROM tblCT_Hang WHERE idCTHang = N'" + tblHang.Rows[hang][0].ToString() + "'"));
                        slxoa = Convert.ToDouble(tblHang.Rows[hang][1].ToString());
                        slcon = sl + slxoa;
                        sql   = "UPDATE tblCT_Hang SET SoLuong =" + slcon + " WHERE idCTHang= N'" + tblHang.Rows[hang][0].ToString() + "'";
                        DataProvider.Instance.ExecuteQuery(sql);
                    }

                    //Xóa chi tiết hóa đơn
                    sql = "DELETE tblCT_HoaDon WHERE idHoadon=N'" + txtMaHoaDon.Text + "'";
                    DataProvider.Instance.ExecuteQuery(sql);

                    //Xóa hóa đơn
                    sql = "DELETE tblHoaDon WHERE idHoadon=N'" + txtMaHoaDon.Text + "'";
                    DataProvider.Instance.ExecuteQuery(sql);
                    clearsp();
                    LoadDataGridView();
                    //btnxoa.Enabled = false;
                    btnthanhtoan.Enabled = false;
                    txtTongTien.Text     = "";
                    lblBangChu.Text      = "";
                    txtthanhtoan.Text    = "";
                }
            }


            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        private void dgvHoaDon_DoubleClick(object sender, EventArgs e)
        {
            string MaHangxoa, sql;
            Double ThanhTienxoa, SoLuongxoa, sl, slcon, tong, tongmoi;

            if (tblCTHDB.Rows.Count == 0)
            {
                MessageBox.Show("Không có dữ liệu!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            try
            {
                if ((MessageBox.Show("Bạn có chắc chắn muốn xóa không?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes))
                {
                    //Xóa hàng và cập nhật lại số lượng hàng
                    MaHangxoa    = dgvHoaDon.CurrentRow.Cells["idCTHang"].Value.ToString();
                    SoLuongxoa   = Convert.ToDouble(dgvHoaDon.CurrentRow.Cells["SoLuong"].Value.ToString());
                    ThanhTienxoa = Convert.ToDouble(dgvHoaDon.CurrentRow.Cells["ThanhTien"].Value.ToString());
                    sql          = "DELETE tblCT_Hoadon WHERE idHoaDon=N'" + txtMaHoaDon.Text + "' AND idCTHang = N'" + MaHangxoa + "'";
                    DataProvider.Instance.ExecuteQuery(sql);
                    LoadDataGridView();
                    // Cập nhật lại số lượng cho các mặt hàng
                    sl    = Convert.ToDouble(DAO_Bill.SimpleRead("SELECT SoLuong FROM tblCT_Hang WHERE idCTHang = N'" + MaHangxoa + "'"));
                    slcon = sl + SoLuongxoa;
                    sql   = "UPDATE tblCT_Hang SET SoLuong =" + slcon + " WHERE idCTHang= N'" + MaHangxoa + "'";
                    DataProvider.Instance.ExecuteQuery(sql);
                    // Cập nhật lại tổng tiền cho hóa đơn bán
                    tong    = Convert.ToDouble(DAO_Bill.SimpleRead("SELECT TongTien FROM tblHoadon WHERE idhoadon = N'" + txtMaHoaDon.Text + "'"));
                    tongmoi = tong - ThanhTienxoa;
                    sql     = "UPDATE tblHoadon SET TongTien =" + tongmoi + " WHERE idhoadon = N'" + txtMaHoaDon.Text + "'";
                    DataProvider.Instance.ExecuteQuery(sql);
                    txtTongTien.Text  = tongmoi.ToString();
                    txtthanhtoan.Text = tongmoi.ToString();
                    lblBangChu.Text   = "Bằng chữ: " + DAO_Bill.ChuyenSoSangChu(tongmoi);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        private void cbbTenSp_TextChanged(object sender, EventArgs e)
        {
            string str;

            if (cbbMaSP.Text == "")
            {
                txtTenSP.Text     = "";
                txtDonGiaSP.Text  = "";
                txtsoluongsp.Text = "";
            }
            // Khi chọn MÃ hàng tự động hiện ra
            try
            {
                str              = "SELECT Ten FROM tblCT_Hang WHERE idCTHang =N'" + cbbMaSP.SelectedValue.ToString() + "'";
                txtTenSP.Text    = DAO_Bill.SimpleRead(str);
                str              = "SELECT DonGiaBan FROM tblCT_Hang WHERE idCTHang =N'" + cbbMaSP.SelectedValue.ToString() + "'";
                txtDonGiaSP.Text = DAO_Bill.SimpleRead(str);

                //str = "select soluong from tblCT_Hang where (tensp= N'" + cbbMaSP.Text + "') ";
                //DAO_Bill.CheckSL(str,checkslsp);

                str = "SELECT SoLuong FROM tblCT_Hang WHERE idCTHang = N'" + cbbMaSP.SelectedValue.ToString() + "'";
                txtsoluongsp.Text = DAO_Bill.SimpleRead(str);


                str              = "SELECT s.Ten FROM tblCT_Hang ct JOIN dbo.tblSize s ON s.idSize = ct.idSize WHERE idCTHang = N'" + cbbMaSP.SelectedValue.ToString() + "'";
                txtSize.Text     = DAO_Bill.SimpleRead(str);
                str              = "SELECT  cl.tenChatLieu FROM dbo.tblChatLieu cl JOIN dbo.tblCT_Hang ct ON ct.idChatLieu = cl.idChatLieu WHERE ct.idCTHang = N'" + cbbMaSP.SelectedValue.ToString() + "'";
                txtchatlieu.Text = DAO_Bill.SimpleRead(str);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Lỗi: " + ex.Message);
            }


            //str = "SELECT idChatLieu FROM tblCT_Hang WHERE idCTHang = N'" + cbbChatLieu.SelectedValue.ToString() + "'";
            //cbbChatLieu.Text = DAO_Bill.SimpleRead(str);
            //str = "SELECT idSize FROM tblCT_Hang WHERE idCTHang = N'" + cbbSize.SelectedValue.ToString() + "'";
            //cbbSize.Text = DAO_Bill.SimpleRead(str);

            // thành tiền
            double giamgiaTextbox = 0;
            double slsp           = 0;
            double dongiasp       = 0;
            double thanhtiensp;
            double thanhtiensp2;

            if (txtsoluongsp.Text != "")
            {
                slsp = double.Parse(txtsoluongsp.Text);
            }
            if (txtDonGiaSP.Text != "")
            {
                dongiasp = double.Parse(txtDonGiaSP.Text);
            }

            thanhtiensp = slsp * dongiasp;
            //tien giam gia cua san pham
            if (txtgiamphantramsp.Text != "")
            {
                giamgiaTextbox = double.Parse(txtgiamphantramsp.Text);
            }

            double giamgiasp = (giamgiaTextbox * thanhtiensp) / 100;

            //tien san pham = (so luong * don gia ) - giam gia
            thanhtiensp2 = thanhtiensp - giamgiasp;

            txtThanhTien.Text = thanhtiensp2.ToString("###,###");
        }
        private void btnthem_Click(object sender, EventArgs e)
        {
            string sql;
            double sl, SLcon, tong, Tongmoi;


            sql = "SELECT idHoaDon FROM tblHoaDon WHERE idHoaDon=N'" + txtMaHoaDon.Text + "'";
            if (!DAO_Bill.CheckKey(sql))
            {
                // Mã hóa đơn chưa có, tiến hành lưu các thông tin chung
                // Mã HDBan được sinh tự động do đó không có trường hợp trùng khóa
                if (dtpNgayBan.Text.Length == 0)
                {
                    MessageBox.Show("Bạn phải nhập ngày bán", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    dtpNgayBan.Focus();
                    return;
                }
                if (cbbMaNhanVien.Text.Length == 0)
                {
                    MessageBox.Show("Bạn phải nhập nhân viên", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    cbbMaNhanVien.Focus();
                    return;
                }
                if (cbbSDTKH.Text.Length == 0)
                {
                    MessageBox.Show("Bạn phải nhập khách hàng", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    cbbSDTKH.Focus();
                    return;
                }
                try
                {
                    sql = "INSERT INTO tblHoaDon(idHoadon, NgayBan, TongTien,idNhanVien, idKhachHang) VALUES (N'" + txtMaHoaDon.Text.Trim() + "','" +
                          dtpNgayBan.Value.ToString() + "',N'" + txtTongTien.Text + "',N'" +
                          cbbMaNhanVien.SelectedValue + "','" + cbbSDTKH.SelectedValue + "')";
                    DataProvider.Instance.ExecuteQuery(sql);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Lỗi: " + ex.Message);
                }
                cbbMaNhanVien.Enabled = false;
                cbbSDTKH.Enabled      = false;
            }



            // Lưu thông tin của các mặt hàng
            if (cbbMaSP.Text.Trim().Length == 0)
            {
                MessageBox.Show("Bạn phải nhập mã hàng", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                cbbMaSP.Focus();
                return;
            }
            if ((txtsoluongsp.Text.Trim().Length == 0) || (txtsoluongsp.Text == "0"))
            {
                MessageBox.Show("Bạn phải nhập số lượng", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                txtsoluongsp.Text = "";
                txtsoluongsp.Focus();
                return;
            }
            if (txtgiamphantramsp.Text.Trim().Length == 0)
            {
                MessageBox.Show("Bạn phải nhập giảm giá", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                txtgiamphantramsp.Focus();
                return;
            }
            sql = "SELECT idCTHang FROM tblCT_HoaDon WHERE idCTHang=N'" + cbbMaSP.SelectedValue + "' AND idHoaDon = N'" + txtMaHoaDon.Text.Trim() + "'";
            if (DAO_Bill.CheckKey(sql))
            {
                MessageBox.Show("Mã hàng này đã có, bạn phải nhập mã khác", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                clearsp();
                cbbMaSP.Focus();
                return;
            }
            // Kiểm tra xem số lượng hàng trong kho còn đủ để cung cấp không?
            sl = Convert.ToDouble(DAO_Bill.SimpleRead("SELECT SoLuong FROM tblCT_Hang WHERE idCTHang = N'" + cbbMaSP.SelectedValue + "'"));
            if (Convert.ToDouble(txtsoluongsp.Text) > sl)
            {
                MessageBox.Show("Số lượng mặt hàng này chỉ còn " + sl, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                txtsoluongsp.Text = "";
                txtsoluongsp.Focus();
                return;
            }
            try
            {
                sql = "INSERT INTO tblCT_HoaDon(SoLuong,DonGia,GiamGia,ThanhTien, idCTHang,idHoaDon) VALUES( " + txtsoluongsp.Text + "," + txtDonGiaSP.Text + "," + txtgiamphantramsp.Text + "," + txtThanhTien.Text + ", N'" + cbbMaSP.SelectedValue + "',N'" + txtMaHoaDon.Text.Trim() + "')";
                DataProvider.Instance.ExecuteQuery(sql);
                LoadDataGridView();
                // Cập nhật lại số lượng của mặt hàng vào bảng tblHang
                SLcon = sl - Convert.ToDouble(txtsoluongsp.Text);
                sql   = "UPDATE tblCT_Hang SET SoLuong =" + SLcon + " WHERE idCTHang= N'" + cbbMaSP.SelectedValue + "'";
                DataProvider.Instance.ExecuteQuery(sql);
                // Cập nhật lại tổng tiền cho hóa đơn bán
                tong    = Convert.ToDouble(DAO_Bill.SimpleRead("SELECT TongTien FROM tblHoaDon WHERE idHoaDon = N'" + txtMaHoaDon.Text + "'"));
                Tongmoi = tong + Convert.ToDouble(txtThanhTien.Text);
                sql     = "UPDATE tblHoadon SET TongTien =" + Tongmoi + " WHERE idHoaDon = N'" + txtMaHoaDon.Text + "'";
                DataProvider.Instance.ExecuteQuery(sql);
                txtTongTien.Text  = Tongmoi.ToString();
                txtthanhtoan.Text = Tongmoi.ToString();
                lblBangChu.Text   = "Bằng chữ: " + DAO_Bill.ChuyenSoSangChu(Tongmoi);
                clearsp();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Lỗi: " + ex.Message);
            }



            //btnXoa.Enabled = true;
            //btnThem.Enabled = true;
            //btnInHoaDon.Enabled = true;


            //bool found = false;
            //if (dgvHoaDon.Rows.Count > 0)
            //{
            //    foreach (DataGridViewRow row in dgvHoaDon.Rows)
            //    {
            //        if (Convert.ToString(row.Cells[0].Value) == cbbMaSP.Text)
            //        {
            //            //neu them san pham giong nhau se cộng dồn số lượng và tiền vào ô
            //            row.Cells[2].Value = (int.Parse(txtsoluongsp.Text) + Convert.ToInt16(row.Cells[2].Value.ToString()));
            //            row.Cells[4].Value = (double.Parse(txtThanhTien.Text) + Convert.ToDouble(row.Cells[4].Value.ToString()));
            //            found = true;
            //            /////////////////////
            //        }
            //    }
            //    if (!found)
            //    {
            //        dgvHoaDon.Rows.Add(cbbMaSP.Text, txtTenSP.Text, txtsoluongsp.Text, txtDonGiaSP.Text, txtThanhTien.Text, txtChatLieu.Text, txtSize.Text, txtgiamphantramsp.Text);
            //    }
            //}
            //else
            //{
            //    dgvHoaDon.Rows.Add(cbbMaSP.Text, txtTenSP.Text, txtsoluongsp.Text, txtDonGiaSP.Text, txtThanhTien.Text, txtChatLieu.Text, txtSize.Text, txtgiamphantramsp.Text);
            //}

            //double sum = 0;
            //for (int i = 0; i < dgvHoaDon.Rows.Count; ++i)
            //{
            //    sum += Convert.ToDouble(dgvHoaDon.Rows[i].Cells[4].Value);
            //}
            //txtTongTien.Text = sum.ToString("###,###");
            ////------------------- update sql -----------------//
            //string sql = "update tblCT_Hang set soluong=soluong - '" + txtsoluongsp.Text + "' where idCTHang ='" + cbbMaSP.Text + "' ";
            //DataProvider.Instance.ExecuteQuery(sql);

            //clearsp();
        }