private void gridViewBillProduct_CellValueChanging(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e) { if (e.RowHandle >= 0) { if ((currentReceipt.Trangthai < 1) || (Program.userLevel == Level.Admin)) { if (e.Column == colDeleteCTHD) { ////delete here //get the number of avalable product with this bill DataSet dsCTHD = new DataAccess().getChitietHDXuatByIDSanphamAndIDHoadon(Convert.ToInt32(gridViewBillProduct.GetRowCellValue(e.RowHandle, "IDSanpham")), iCurrentReceiptID); int i; int sum = 0; for (i = 0; i < dsCTHD.Tables[0].Rows.Count; i++) { sum = sum + Convert.ToInt32(dsCTHD.Tables[0].Rows[i]["Soluong"]); } ChitietHDXuat obj = new ChitietHDXuat(); obj.Giam = Convert.ToInt32(gridViewBillProduct.GetRowCellValue(e.RowHandle, "Giam")); obj.IDGiaxuat = Convert.ToInt32(gridViewBillProduct.GetRowCellValue(e.RowHandle, "IDGiaXuatSP")); obj.IDHoadonXuat = Convert.ToInt32(gridViewBillProduct.GetRowCellValue(e.RowHandle, "IDHoadonXuat")); obj.IDSanpham = Convert.ToInt32(gridViewBillProduct.GetRowCellValue(e.RowHandle, "IDSanpham")); obj.Soluong = Convert.ToInt32(gridViewBillProduct.GetRowCellValue(e.RowHandle, "Soluong")); obj.Bep = Convert.ToBoolean(gridViewBillProduct.GetRowCellValue(e.RowHandle, "Bep")); if (sum <= 0) { MessageBox.Show("Hiện tại không còn sản phầm này trong hóa đơn", "Thông báo"); return; } frmReturnProduct rt = new frmReturnProduct(false,sum, Convert.ToString(gridViewBillProduct.GetRowCellValue(e.RowHandle, "TenSanPham"))); rt.ShowDialog(); int rtnum = rt.getReturnNum(); // bool directRet = rt.getDirectRet(); string text = rt.getText(); rt.Close(); if (rtnum <= 0) return; obj.Soluong = -rtnum; obj.Ghichu = text; if (new DataAccess().insertChitietHDXuat(obj) < 0) MessageBox.Show(this, "Trả sản phẩm không thành công", "Thông báo lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error); else updateBillDisplay(iCurrentReceiptID); } } else { MessageBox.Show(this, "Hóa đơn đã khóa sổ, không thay đổi được. Liên hệ quản lý để thay đổi", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Stop); } } }
private void AddSP(int num) { //add a quantity of a product to current bill //check if the parameters are legal if (gridViewSanPham.FocusedRowHandle >= 0) { //list all products by ID int ID = Convert.ToInt32(gridViewSanPham.GetRowCellValue(gridViewSanPham.FocusedRowHandle, "IDSanPham")); iCurrentProductID = ID; int IDLoaiSP = Convert.ToInt32(gridViewSanPham.GetRowCellValue(gridViewSanPham.FocusedRowHandle, "IDNhomSP")); //DataSet prdPrice = new DataAccess().getGiaXuatSPByIDSanPham(ID); //if ((prdPrice != null) && (prdPrice.Tables[0].Rows.Count > 0)) //{ //txtPrice.Text = prdPrice.Tables[0].Rows[0][1].ToString(); if (iCurrentReceiptID >= 0) { if (currentReceipt.Trangthai > 1) { MessageBox.Show("Hóa đơn này đã đóng, không được thay đổi", "Thông báo"); return; } else if ((currentReceipt.Trangthai > 0) && (Program.userLevel != Level.Admin)) { MessageBox.Show("Đăng nhập với quyền Quản lý để thay đổi", "Thông báo"); return; } if(currentReceipt.Trangthai > 0) { if (MessageBox.Show("Bạn có muốn thêm sản phẩm vào hóa đơn đã đóng", "Cảnh báo", MessageBoxButtons.YesNo) == DialogResult.No) return; } //get khuyen mai with this product ID DataSet ds = new DataAccess().getKhuyenmaiByIDLoaiSP(IDLoaiSP, DateTime.Now.Date); //if (ds == null) // return; //if (ds.Tables[0].Rows.Count == 0) //{ //get the number of added product frmReturnProduct rt = new frmReturnProduct(true, 0, Convert.ToString(gridViewSanPham.GetRowCellValue(gridViewSanPham.FocusedRowHandle, "TenSanPham"))); rt.ShowDialog(); int rtnum = rt.getReturnNum(); // bool directRet = rt.getDirectRet(); string text = rt.getText(); rt.Close(); if (rtnum <= 0) return; ChitietHDXuat obj = new ChitietHDXuat(); obj.IDHoadonXuat = iCurrentReceiptID; obj.IDSanpham = iCurrentProductID; obj.IDGiaxuat = Convert.ToInt32(gridViewSanPham.GetRowCellValue(gridViewSanPham.FocusedRowHandle, "IDGiaXuatSP")); obj.Soluong = rtnum; if (ds != null) { try { obj.Giam = Convert.ToInt32(ds.Tables[0].Rows[0]["Giam"]); } catch (Exception ex) { obj.Giam = 0; } } else obj.Giam = 0; obj.Bep = false; int res = new DataAccess().insertChitietHDXuat(obj); if (res < 0) { MessageBox.Show("Không thêm sản phẩm " + gridViewSanPham.GetRowCellValue(gridViewSanPham.FocusedRowHandle, "TenSanPham") + " vào hóa đơn hiện tại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } updateBillDisplay(iCurrentReceiptID); int i; for (i = 0; i < gridViewBillProduct.RowCount; i++) { if (Convert.ToInt32(gridViewBillProduct.GetRowCellValue(i, "IDSanpham")) == iCurrentProductID) break; } gridViewBillProduct.Focus(); gridViewBillProduct.FocusedRowHandle = i; gridViewBillProduct.FocusedColumn = colBillNum; } } }