コード例 #1
0
        // Cập nhật đơn hàng
        private void btnCapNhat_Click(object sender, EventArgs e)
        {
            try
            {
                if (txtPhiVanChuyen_Them.Text == "")
                {
                    MessageBox.Show("Phải nhập phí vận chuyển");
                    return;
                }
                if (cbmTrangThai_Them.Text == "")
                {
                    MessageBox.Show("Phải chọn trạng thái đơn hàng");
                    return;
                }

                int newTrangThai          = Int32.Parse(cbmTrangThai_Them.SelectedValue.ToString());
                ChiTietDonHangBUS ctdhBus = new ChiTietDonHangBUS();

                if ((_curTrangThai == 2 || _curTrangThai == 5) && (newTrangThai == 2 || newTrangThai == 5))
                {
                    foreach (DataGridViewRow row in this.dtgvDanhSachSanPham_ChiTiet.Rows)
                    {
                        ChiTietDonHangDTO ctdhDto = ctdhBus.KiemTraTonTai(_maDH, row.Cells["MaSanPham"].Value.ToString());
                        if (ctdhDto.MaChiTietDonHang != 0) // Sản phẩm đã có trong đơn hàng
                        {
                            if (Int32.Parse(row.Cells["CmbSoLuong"].Value.ToString()) > ctdhDto.SoLuong)
                            {
                                int soLgDatThem = Int32.Parse(row.Cells["CmbSoLuong"].Value.ToString()) - ctdhDto.SoLuong;
                                int kq          = KiemTraConHang(row.Cells["MaSanPham"].Value.ToString(), soLgDatThem);
                                if (kq > -1)
                                {
                                    MessageBox.Show("Số lượng sản phẩm  '" + row.Cells["MaSanPham"].Value.ToString() + "'  đặt thêm lớn hơn số lượng hàng còn trong kho." + "\n\nSố lượng đặt thêm là: " + soLgDatThem.ToString() + "\n\nSố lượng hàng còn trong kho là: " + kq.ToString());
                                    dtgvDanhSachSanPham_ChiTiet.FirstDisplayedScrollingRowIndex = row.Index;
                                    return;
                                }
                            }
                        }
                        else // Sản phẩm chưa có trong đơn hàng
                        {
                            int kq = KiemTraConHang(row.Cells["MaSanPham"].Value.ToString(), Int32.Parse(row.Cells["CmbSoLuong"].Value.ToString()));
                            if (kq > -1)
                            {
                                MessageBox.Show("Số lượng sản phẩm  '" + row.Cells["MaSanPham"].Value.ToString() + "'  đặt mua lớn hơn số lượng hàng còn trong kho." + "\n\nSố lượng hàng còn trong kho là: " + kq.ToString());
                                dtgvDanhSachSanPham_ChiTiet.FirstDisplayedScrollingRowIndex = row.Index;
                                return;
                            }
                        }
                    }
                }

                if ((_curTrangThai == 1 || _curTrangThai == 3 || _curTrangThai == 4) && (newTrangThai == 2 || newTrangThai == 5))
                {
                    foreach (DataGridViewRow row in this.dtgvDanhSachSanPham_ChiTiet.Rows)
                    {
                        int kq = KiemTraConHang(row.Cells["MaSanPham"].Value.ToString(), Int32.Parse(row.Cells["CmbSoLuong"].Value.ToString()));
                        if (kq > -1)
                        {
                            MessageBox.Show("Số lượng sản phẩm  '" + row.Cells["MaSanPham"].Value.ToString() + "'  đặt mua lớn hơn số lượng hàng còn trong kho." + "\n\nSố lượng hàng còn trong kho là: " + kq.ToString());
                            dtgvDanhSachSanPham_ChiTiet.FirstDisplayedScrollingRowIndex = row.Index;
                            return;
                        }
                    }
                }

                DialogResult result = MessageBox.Show("Bạn có chắc là muốn cập nhật đơn hàng này không",
                                                      "Question",
                                                      MessageBoxButtons.YesNo,
                                                      MessageBoxIcon.Question,
                                                      MessageBoxDefaultButton.Button1);
                if (result == DialogResult.Yes)
                {
                    DonHangBUS dhBus = new DonHangBUS();
                    DonHangDTO dhDto = new DonHangDTO();

                    dhDto.MaDonHang      = _maDH;
                    dhDto.MaKhachHang    = Int32.Parse(txtMaKH_Them.Text);
                    dhDto.TrangThai      = Int32.Parse(cbmTrangThai_Them.SelectedValue.ToString());
                    dhDto.NguoiCapNhat   = frmDangNhap.gUserName;
                    dhDto.PhiVanChuyen   = Int32.Parse(txtPhiVanChuyen_Them.Text);
                    dhDto.TongTien       = Int32.Parse(lbTongTien.Text.Replace(@",", ""));
                    dhDto.SoLuongSanPham = Int32.Parse(lbSoLuong.Text);
                    if (rdGiaSi.Checked == true)
                    {
                        dhDto.HinhThucMua = 0; //Gia Si
                    }
                    else
                    {
                        dhDto.HinhThucMua = 1; //Gia Le
                    }
                    dhBus.Update(dhDto);

                    if ((_curTrangThai == 1 || _curTrangThai == 3 || _curTrangThai == 4) && (newTrangThai == 1 || newTrangThai == 3 || newTrangThai == 4))
                    {
                        foreach (DataGridViewRow row in this.dtgvDanhSachSanPham_ChiTiet.Rows)
                        {
                            ChiTietDonHangDTO ctdhDto = new ChiTietDonHangDTO();
                            ctdhDto.MaDonHang = dhDto.MaDonHang;
                            ctdhDto.MaSanPham = row.Cells["MaSanPham"].Value.ToString();
                            ctdhDto.MauSac    = row.Cells["MauSac"].Value.ToString();
                            ctdhDto.SoLuong   = Int32.Parse(row.Cells["CmbSoLuong"].Value.ToString());
                            ctdhDto.GiaBan    = Int32.Parse(row.Cells["GiaBan"].Value.ToString().Replace(@",", ""));
                            if (ctdhBus.KiemTraTonTai(_maDH, ctdhDto.MaSanPham).MaChiTietDonHang != 0)
                            {
                                ctdhDto.MaChiTietDonHang = ctdhBus.KiemTraTonTai(_maDH, ctdhDto.MaSanPham).MaChiTietDonHang;
                                ctdhBus.Update(ctdhDto);
                            }
                            else
                            {
                                ctdhBus.Insert(ctdhDto);
                            }
                        }
                    }

                    if ((_curTrangThai == 1 || _curTrangThai == 3 || _curTrangThai == 4) && (newTrangThai == 2 || newTrangThai == 5))
                    {
                        foreach (DataGridViewRow row in this.dtgvDanhSachSanPham_ChiTiet.Rows)
                        {
                            ChiTietDonHangDTO ctdhDto = new ChiTietDonHangDTO();
                            ctdhDto.MaDonHang = dhDto.MaDonHang;
                            ctdhDto.MaSanPham = row.Cells["MaSanPham"].Value.ToString();
                            ctdhDto.MauSac    = row.Cells["MauSac"].Value.ToString();
                            ctdhDto.SoLuong   = Int32.Parse(row.Cells["CmbSoLuong"].Value.ToString());
                            ctdhDto.GiaBan    = Int32.Parse(row.Cells["GiaBan"].Value.ToString().Replace(@",", ""));
                            if (ctdhBus.KiemTraTonTai(_maDH, ctdhDto.MaSanPham).MaChiTietDonHang != 0)
                            {
                                ctdhDto.MaChiTietDonHang = ctdhBus.KiemTraTonTai(_maDH, ctdhDto.MaSanPham).MaChiTietDonHang;
                                ctdhBus.Update(ctdhDto);
                            }
                            else
                            {
                                ctdhBus.Insert(ctdhDto);
                            }

                            int newSl = ctdhDto.SoLuong;
                            int oldSl = Int32.Parse(row.Cells["SoLuong"].Value.ToString());
                            int trangthai;
                            if (newSl == oldSl)
                            {
                                trangthai = 0;
                            }
                            else
                            {
                                trangthai = 1;
                            }
                            SanPhamBUS spBus = new SanPhamBUS();
                            spBus.CapNhatKhoHang(ctdhDto.MaSanPham, oldSl - newSl, trangthai);
                        }
                    }

                    if ((_curTrangThai == 2 || _curTrangThai == 5) && (newTrangThai == 1 || newTrangThai == 3 || newTrangThai == 4))
                    {
                        foreach (DataGridViewRow row in this.dtgvDanhSachSanPham_ChiTiet.Rows)
                        {
                            ChiTietDonHangDTO ctdhDto    = new ChiTietDonHangDTO();
                            ChiTietDonHangDTO ctdhDtoOld = ctdhBus.KiemTraTonTai(_maDH, row.Cells["MaSanPham"].Value.ToString());
                            ctdhDto.MaDonHang        = dhDto.MaDonHang;
                            ctdhDto.MaSanPham        = row.Cells["MaSanPham"].Value.ToString();
                            ctdhDto.MauSac           = row.Cells["MauSac"].Value.ToString();
                            ctdhDto.SoLuong          = Int32.Parse(row.Cells["CmbSoLuong"].Value.ToString());
                            ctdhDto.GiaBan           = Int32.Parse(row.Cells["GiaBan"].Value.ToString().Replace(@",", ""));
                            ctdhDto.MaChiTietDonHang = ctdhDtoOld.MaChiTietDonHang;
                            if (ctdhDtoOld.MaChiTietDonHang != 0)
                            {
                                ctdhBus.Update(ctdhDto);
                                string     maSp      = ctdhDto.MaSanPham;
                                int        sl        = ctdhDto.SoLuong;
                                SanPhamDTO spDtoOld  = SanPhamBUS.LaySanPham(maSp);
                                int        trangThai = 0;
                                if ((sl + spDtoOld.SoLuong) > 0)
                                {
                                    trangThai = 1;
                                }
                                SanPhamBUS spBus = new SanPhamBUS();
                                spBus.CapNhatKhoHang(maSp, sl + spDtoOld.SoLuong, trangThai);
                            }
                            else
                            {
                                ctdhBus.Insert(ctdhDto);
                            }
                        }
                    }

                    if ((_curTrangThai == 2 || _curTrangThai == 5) && (newTrangThai == 2 || newTrangThai == 5))
                    {
                        foreach (DataGridViewRow row in this.dtgvDanhSachSanPham_ChiTiet.Rows)
                        {
                            ChiTietDonHangDTO ctdhDto    = new ChiTietDonHangDTO();
                            ChiTietDonHangDTO ctdhDtoOld = ctdhBus.KiemTraTonTai(_maDH, row.Cells["MaSanPham"].Value.ToString());
                            ctdhDto.MaDonHang        = dhDto.MaDonHang;
                            ctdhDto.MaSanPham        = row.Cells["MaSanPham"].Value.ToString();
                            ctdhDto.MauSac           = row.Cells["MauSac"].Value.ToString();
                            ctdhDto.SoLuong          = Int32.Parse(row.Cells["CmbSoLuong"].Value.ToString());
                            ctdhDto.GiaBan           = Int32.Parse(row.Cells["GiaBan"].Value.ToString().Replace(@",", ""));
                            ctdhDto.MaChiTietDonHang = ctdhDtoOld.MaChiTietDonHang;
                            if (ctdhDtoOld.MaChiTietDonHang != 0)
                            {
                                ctdhBus.Update(ctdhDto);
                                string     maSp        = ctdhDto.MaSanPham;
                                SanPhamDTO spDtoOld    = SanPhamBUS.LaySanPham(maSp);
                                int        diffSoLuong = ctdhDto.SoLuong - ctdhDtoOld.SoLuong;
                                int        trangThai   = 0;
                                SanPhamBUS spBus       = new SanPhamBUS();
                                if (diffSoLuong > 0)
                                {
                                    if (spDtoOld.SoLuong - diffSoLuong > 0)
                                    {
                                        trangThai = 1;
                                    }
                                }
                                else
                                {
                                    trangThai = 1;
                                }

                                spBus.CapNhatKhoHang(maSp, spDtoOld.SoLuong - diffSoLuong, trangThai);
                            }
                            else
                            {
                                ctdhBus.Insert(ctdhDto);
                                string     maSp      = ctdhDto.MaSanPham;
                                SanPhamDTO spDtoOld  = SanPhamBUS.LaySanPham(maSp);
                                int        trangThai = 0;
                                SanPhamBUS spBus     = new SanPhamBUS();

                                if (spDtoOld.SoLuong - ctdhDto.SoLuong > 0)
                                {
                                    trangThai = 1;
                                }

                                spBus.CapNhatKhoHang(maSp, spDtoOld.SoLuong - ctdhDto.SoLuong, trangThai);
                            }
                        }
                    }

                    MessageBox.Show("Đơn hàng đã được cập nhật thành công");
                    btnCapNhat.Visible = true;
                    _curTrangThai      = dhDto.TrangThai;
                }
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
コード例 #2
0
        private void dtgvDanhSachSanPham_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                //lbSoLuong.Text = e.ColumnIndex.ToString();
                if (e.ColumnIndex == dtgvDanhSachSanPham.Columns["Xoa"].Index && e.RowIndex >= 0)
                {
                    ChiTietDonHangBUS ctdhBus = new ChiTietDonHangBUS();
                    ChiTietDonHangDTO ctdhDto = ctdhBus.KiemTraTonTai(_maDH, dtgvDanhSachSanPham.Rows[e.RowIndex].Cells["MaSanPham"].Value.ToString());
                    if (ctdhDto.MaChiTietDonHang != 0)
                    {
                        DialogResult result = MessageBox.Show("Bạn có chắc muốn xóa sản phẩm này khỏi đơn hàng hay ko",
                                                              "Question",
                                                              MessageBoxButtons.YesNo,
                                                              MessageBoxIcon.Question,
                                                              MessageBoxDefaultButton.Button1);
                        if (result == DialogResult.Yes)
                        {
                            dt.Rows.Remove(dt.Rows[e.RowIndex]);
                            if (dhDto.TrangThai == 2 || dhDto.TrangThai == 5)
                            {
                                string     maSp      = ctdhDto.MaSanPham;
                                int        sl        = ctdhDto.SoLuong;
                                SanPhamDTO spDto     = SanPhamBUS.LaySanPham(maSp);
                                int        trangThai = 0;
                                if ((sl + spDto.SoLuong) > 0)
                                {
                                    trangThai = 1;
                                }
                                SanPhamBUS spBus = new SanPhamBUS();
                                spBus.CapNhatKhoHang(maSp, sl + spDto.SoLuong, trangThai);
                            }

                            if (dhDto.MaDonHang != 0)
                            {
                                DonHangBUS dhBus = new DonHangBUS();

                                dhDto.NguoiCapNhat   = frmDangNhap.gUserName;
                                dhDto.PhiVanChuyen   = Int32.Parse(txtPhiVanChuyen_Them.Text);
                                dhDto.TongTien       = Int32.Parse(lbTongTien.Text.Replace(@",", "")) - ctdhDto.GiaBan;
                                dhDto.SoLuongSanPham = Int32.Parse(lbSoLuong.Text) - ctdhDto.SoLuong;
                                if (rdGiaSi.Checked == true)
                                {
                                    dhDto.HinhThucMua = 0; //Gia Si
                                }
                                else
                                {
                                    dhDto.HinhThucMua = 1; //Gia Le
                                }
                                dhBus.Update(dhDto);
                            }
                            ctdhBus.Delete(ctdhDto.MaChiTietDonHang);
                        }
                    }
                    else
                    {
                        dt.Rows.Remove(dt.Rows[e.RowIndex]);
                    }
                    dtgvDanhSachSanPham.DataSource = dt;
                    formatData();
                    _changed = true;
                }
                if (e.ColumnIndex == dtgvDanhSachSanPham.Columns["CmbSoLuong"].Index && e.RowIndex >= 0)
                {
                    dtgvDanhSachSanPham.BeginEdit(true);
                    ComboBox comboBox = (ComboBox)dtgvDanhSachSanPham.EditingControl;
                    if (comboBox != null)
                    {
                        comboBox.DroppedDown = true;
                    }
                }
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
コード例 #3
0
        private void btnThemDonHang_Click(object sender, EventArgs e)
        {
            try
            {
                if (txtPhiVanChuyen_Them.Text == "")
                {
                    MessageBox.Show("Phải nhập phí vận chuyển");
                    return;
                }
                if (cbmTrangThai_Them.Text == "")
                {
                    MessageBox.Show("Phải chọn trạng thái đơn hàng");
                    return;
                }
                if (dtgvDanhSachSanPham_ChiTiet.Rows.Count == 0)
                {
                    MessageBox.Show("Phải chọn ít nhất 1 sản phẩm");
                    return;
                }

                foreach (DataGridViewRow row in this.dtgvDanhSachSanPham_ChiTiet.Rows)
                {
                    int kq = KiemTraConHang(row.Cells["MaSanPham"].Value.ToString(), Int32.Parse(row.Cells["CmbSoLuong"].Value.ToString()));
                    if (kq > -1)
                    {
                        MessageBox.Show("Số lượng sản phẩm  '" + row.Cells["MaSanPham"].Value.ToString() + "'  đặt mua lớn hơn số lượng hàng còn trong kho." + "\n\nSố lượng hàng còn trong kho là: " + kq.ToString());
                        dtgvDanhSachSanPham_ChiTiet.FirstDisplayedScrollingRowIndex = row.Index;
                        return;
                    }
                }

                DialogResult result = MessageBox.Show("Bạn có chắc là muốn thêm đơn hàng này không",
                                                      "Question",
                                                      MessageBoxButtons.YesNo,
                                                      MessageBoxIcon.Question,
                                                      MessageBoxDefaultButton.Button1);
                if (result == DialogResult.Yes)
                {
                    DonHangBUS        dhBus   = new DonHangBUS();
                    DonHangDTO        dhDto   = new DonHangDTO();
                    ChiTietDonHangBUS ctdhBus = new ChiTietDonHangBUS();


                    dhDto.MaKhachHang = Int32.Parse(txtMaKH_Them.Text);
                    if (cbmTrangThai_Them.Text == "Mới đặt")
                    {
                        dhDto.TrangThai = 1;
                    }
                    else
                    {
                        dhDto.TrangThai = 2;
                    }
                    dhDto.NguoiNhap      = frmDangNhap.gUserName;
                    dhDto.PhiVanChuyen   = Int32.Parse(txtPhiVanChuyen_Them.Text);
                    dhDto.TongTien       = Int32.Parse(lbTongTien.Text.Replace(@",", ""));
                    dhDto.SoLuongSanPham = Int32.Parse(lbSoLuong.Text);
                    if (rdGiaSi.Checked == true)
                    {
                        dhDto.HinhThucMua = 0; //Gia Si
                    }
                    else
                    {
                        dhDto.HinhThucMua = 1; //Gia Le
                    }
                    dhBus.Insert(dhDto);
                    _maDH = dhDto.MaDonHang;

                    foreach (DataGridViewRow row in this.dtgvDanhSachSanPham_ChiTiet.Rows)
                    {
                        ChiTietDonHangDTO ctdhDto = new ChiTietDonHangDTO();
                        ctdhDto.MaDonHang = dhDto.MaDonHang;
                        ctdhDto.MaSanPham = row.Cells["MaSanPham"].Value.ToString();
                        ctdhDto.MauSac    = row.Cells["MauSac"].Value.ToString();
                        ctdhDto.SoLuong   = Int32.Parse(row.Cells["CmbSoLuong"].Value.ToString());
                        ctdhDto.GiaBan    = Int32.Parse(row.Cells["GiaBan"].Value.ToString().Replace(@",", ""));
                        ctdhBus.Insert(ctdhDto);

                        if (cbmTrangThai_Them.Text == "Hoàn tất")
                        {
                            int newSl = ctdhDto.SoLuong;
                            int oldSl = Int32.Parse(row.Cells["SoLuong"].Value.ToString());
                            int trangthai;
                            if (newSl == oldSl)
                            {
                                trangthai = 0;
                            }
                            else
                            {
                                trangthai = 1;
                            }
                            SanPhamBUS spBus = new SanPhamBUS();
                            spBus.CapNhatKhoHang(ctdhDto.MaSanPham, oldSl - newSl, trangthai);
                        }
                    }

                    MessageBox.Show("Đơn hàng đã được thêm thành công");
                    btnCapNhat.Visible              = true;
                    _curTrangThai                   = dhDto.TrangThai;
                    cbmTrangThai_Them.DataSource    = TrangThaiDonHangBUS.GetList();
                    cbmTrangThai_Them.DisplayMember = "TrangThai";
                    cbmTrangThai_Them.ValueMember   = "MaTrangThai";
                    cbmTrangThai_Them.SelectedValue = dhDto.TrangThai;
                }
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
コード例 #4
0
        private void CapNhatDonHang()
        {
            try
            {
                if (txtPhiVanChuyen_Them.Text == "")
                {
                    MessageBox.Show("Phải nhập phí vận chuyển");
                    return;
                }
                if (cbmTrangThai_Them.Text == "")
                {
                    MessageBox.Show("Phải chọn trạng thái đơn hàng");
                    return;
                }

                int newTrangThai          = Int32.Parse(cbmTrangThai_Them.SelectedValue.ToString());
                ChiTietDonHangBUS ctdhBus = new ChiTietDonHangBUS();

                DonHangBUS dhBus = new DonHangBUS();
                //DonHangDTO dhDto = new DonHangDTO();

                dhDto.MaDonHang      = _maDH;
                dhDto.MaKhachHang    = Int32.Parse(txtMaKH_Them.Text);
                dhDto.TrangThai      = Int32.Parse(cbmTrangThai_Them.SelectedValue.ToString());
                dhDto.NguoiCapNhat   = frmDangNhap.gUserName;
                dhDto.PhiVanChuyen   = Int32.Parse(txtPhiVanChuyen_Them.Text);
                dhDto.TongTien       = Int32.Parse(lbTongTien.Text.Replace(@",", ""));
                dhDto.SoLuongSanPham = Int32.Parse(lbSoLuong.Text);
                if (rdGiaSi.Checked == true)
                {
                    dhDto.HinhThucMua = 0; //Gia Si
                }
                else
                {
                    dhDto.HinhThucMua = 1; //Gia Le
                }
                dhBus.Update(dhDto);

                if ((_curTrangThai == 1 || _curTrangThai == 3 || _curTrangThai == 4) && (newTrangThai == 1 || newTrangThai == 3 || newTrangThai == 4))
                {
                    foreach (DataGridViewRow row in this.dtgvDanhSachSanPham.Rows)
                    {
                        ChiTietDonHangDTO ctdhDto = new ChiTietDonHangDTO();
                        ctdhDto.MaDonHang = dhDto.MaDonHang;
                        ctdhDto.MaSanPham = row.Cells["MaSanPham"].Value.ToString();
                        ctdhDto.MauSac    = row.Cells["MauSac"].Value.ToString();
                        ctdhDto.SoLuong   = Int32.Parse(row.Cells["CmbSoLuong"].Value.ToString());
                        ctdhDto.GiaBan    = Int32.Parse(row.Cells["GiaBan"].Value.ToString().Replace(@",", ""));
                        if (ctdhBus.KiemTraTonTai(_maDH, ctdhDto.MaSanPham).MaChiTietDonHang != 0)
                        {
                            ctdhDto.MaChiTietDonHang = ctdhBus.KiemTraTonTai(_maDH, ctdhDto.MaSanPham).MaChiTietDonHang;
                            ctdhBus.Update(ctdhDto);
                        }
                        else
                        {
                            ctdhBus.Insert(ctdhDto);
                        }
                    }
                }

                if ((_curTrangThai == 1 || _curTrangThai == 3 || _curTrangThai == 4) && (newTrangThai == 2 || newTrangThai == 5))
                {
                    foreach (DataGridViewRow row in this.dtgvDanhSachSanPham.Rows)
                    {
                        ChiTietDonHangDTO ctdhDto = new ChiTietDonHangDTO();
                        ctdhDto.MaDonHang = dhDto.MaDonHang;
                        ctdhDto.MaSanPham = row.Cells["MaSanPham"].Value.ToString();
                        ctdhDto.MauSac    = row.Cells["MauSac"].Value.ToString();
                        ctdhDto.SoLuong   = Int32.Parse(row.Cells["CmbSoLuong"].Value.ToString());
                        ctdhDto.GiaBan    = Int32.Parse(row.Cells["GiaBan"].Value.ToString().Replace(@",", ""));
                        if (ctdhBus.KiemTraTonTai(_maDH, ctdhDto.MaSanPham).MaChiTietDonHang != 0)
                        {
                            ctdhDto.MaChiTietDonHang = ctdhBus.KiemTraTonTai(_maDH, ctdhDto.MaSanPham).MaChiTietDonHang;
                            ctdhBus.Update(ctdhDto);
                        }
                        else
                        {
                            ctdhBus.Insert(ctdhDto);
                        }

                        int        newSl    = ctdhDto.SoLuong;
                        SanPhamDTO spDtoOld = SanPhamBUS.LaySanPham(ctdhDto.MaSanPham);
                        int        oldSl    = spDtoOld.SoLuong;
                        int        trangthai;
                        if (newSl == oldSl)
                        {
                            trangthai = 0;
                        }
                        else
                        {
                            trangthai = 1;
                        }
                        SanPhamBUS spBus = new SanPhamBUS();
                        spBus.CapNhatKhoHang(ctdhDto.MaSanPham, oldSl - newSl, trangthai);
                    }
                }

                if ((_curTrangThai == 2 || _curTrangThai == 5) && (newTrangThai == 1 || newTrangThai == 3 || newTrangThai == 4))
                {
                    foreach (DataGridViewRow row in this.dtgvDanhSachSanPham.Rows)
                    {
                        ChiTietDonHangDTO ctdhDto    = new ChiTietDonHangDTO();
                        ChiTietDonHangDTO ctdhDtoOld = ctdhBus.KiemTraTonTai(_maDH, row.Cells["MaSanPham"].Value.ToString());
                        ctdhDto.MaDonHang        = dhDto.MaDonHang;
                        ctdhDto.MaSanPham        = row.Cells["MaSanPham"].Value.ToString();
                        ctdhDto.MauSac           = row.Cells["MauSac"].Value.ToString();
                        ctdhDto.SoLuong          = Int32.Parse(row.Cells["CmbSoLuong"].Value.ToString());
                        ctdhDto.GiaBan           = Int32.Parse(row.Cells["GiaBan"].Value.ToString().Replace(@",", ""));
                        ctdhDto.MaChiTietDonHang = ctdhDtoOld.MaChiTietDonHang;
                        if (ctdhDtoOld.MaChiTietDonHang != 0)
                        {
                            ctdhBus.Update(ctdhDto);
                            string     maSp      = ctdhDto.MaSanPham;
                            int        sl        = ctdhDtoOld.SoLuong;
                            SanPhamDTO spDtoOld  = SanPhamBUS.LaySanPham(maSp);
                            int        trangThai = 0;
                            if ((sl + spDtoOld.SoLuong) > 0)
                            {
                                trangThai = 1;
                            }
                            SanPhamBUS spBus = new SanPhamBUS();
                            spBus.CapNhatKhoHang(maSp, sl + spDtoOld.SoLuong, trangThai);
                        }
                        else
                        {
                            ctdhBus.Insert(ctdhDto);
                        }
                    }
                }

                if ((_curTrangThai == 2 || _curTrangThai == 5) && (newTrangThai == 2 || newTrangThai == 5))
                {
                    foreach (DataGridViewRow row in this.dtgvDanhSachSanPham.Rows)
                    {
                        ChiTietDonHangDTO ctdhDto    = new ChiTietDonHangDTO();
                        ChiTietDonHangDTO ctdhDtoOld = ctdhBus.KiemTraTonTai(_maDH, row.Cells["MaSanPham"].Value.ToString());
                        ctdhDto.MaDonHang        = dhDto.MaDonHang;
                        ctdhDto.MaSanPham        = row.Cells["MaSanPham"].Value.ToString();
                        ctdhDto.MauSac           = row.Cells["MauSac"].Value.ToString();
                        ctdhDto.SoLuong          = Int32.Parse(row.Cells["CmbSoLuong"].Value.ToString());
                        ctdhDto.GiaBan           = Int32.Parse(row.Cells["GiaBan"].Value.ToString().Replace(@",", ""));
                        ctdhDto.MaChiTietDonHang = ctdhDtoOld.MaChiTietDonHang;
                        if (ctdhDtoOld.MaChiTietDonHang != 0)
                        {
                            ctdhBus.Update(ctdhDto);
                            string     maSp        = ctdhDto.MaSanPham;
                            SanPhamDTO spDtoOld    = SanPhamBUS.LaySanPham(maSp);
                            int        diffSoLuong = ctdhDto.SoLuong - ctdhDtoOld.SoLuong;
                            int        trangThai   = 0;
                            SanPhamBUS spBus       = new SanPhamBUS();
                            if (diffSoLuong > 0)
                            {
                                if (spDtoOld.SoLuong - diffSoLuong > 0)
                                {
                                    trangThai = 1;
                                }
                            }
                            else
                            {
                                trangThai = 1;
                            }

                            spBus.CapNhatKhoHang(maSp, spDtoOld.SoLuong - diffSoLuong, trangThai);
                        }
                        else
                        {
                            ctdhBus.Insert(ctdhDto);
                            string     maSp      = ctdhDto.MaSanPham;
                            SanPhamDTO spDtoOld  = SanPhamBUS.LaySanPham(maSp);
                            int        trangThai = 0;
                            SanPhamBUS spBus     = new SanPhamBUS();

                            if (spDtoOld.SoLuong - ctdhDto.SoLuong > 0)
                            {
                                trangThai = 1;
                            }

                            spBus.CapNhatKhoHang(maSp, spDtoOld.SoLuong - ctdhDto.SoLuong, trangThai);
                        }
                    }
                }

                MessageBox.Show("Đơn hàng đã được cập nhật thành công");
                btnCapNhat.Visible = true;
                _curTrangThai      = dhDto.TrangThai;
                _changed           = false;
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }