// edit invoice public void FuncEditInvoice(tblHoaDonBanHang invoice) { var getInvoice = DB.tblHoaDonBanHangs.Find(invoice.MaHoaDonBan); getInvoice.NgayBan = invoice.NgayBan; getInvoice.MaNhanVien = invoice.MaNhanVien; getInvoice.MaKhachHang = invoice.MaKhachHang; DB.SaveChanges(); }
// payment for invoice public void FuncPayment(tblHoaDonBanHang newInvoice, DataTable dataTable) { db.tblHoaDonBanHangs.Add(newInvoice); db.SaveChanges();// thêm đơn hàng vào db foreach (DataRow dataRow in dataTable.Rows) { db.tblChiTietHoaDonBanHangs.Add(getDetailInvoice(dataRow, newInvoice.MaHoaDonBan)); db.SaveChanges();// thêm hóa đơn bán hàng chi tiết var product = db.tblHangHoas.Find(dataRow["MaHangHoa"].ToString()); product.SoLuong -= Convert.ToInt32(dataRow["SoLuong"].ToString()); db.SaveChanges();// thay đổi số lượng hàng hóa sau khi thanh toán } }
// Btn thanh toán private void btnPAYMENT_Click(object sender, EventArgs e) { if (DATA.Rows.Count == 0) { MessageBox.Show("Không thể thực hiện chức năng này", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { SALEMANAGEMENT_DB DB = new SALEMANAGEMENT_DB(); tblHoaDonBanHang NEWINVOICE = new tblHoaDonBanHang(); if (string.IsNullOrEmpty(txtID_INVOICE.Text) || invoicePrice == 0 || cbbCUSTOMER.SelectedIndex == 0 || cbbSTAFF.SelectedIndex == 0 || cbbSTAFF.SelectedIndex == 0 || cbbCUSTOMER.SelectedIndex == 0) { MessageBox.Show("Vui lòng nhập đầy đủ thông tin", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { NEWINVOICE.MaHoaDonBan = txtID_INVOICE.Text; NEWINVOICE.MaNhanVien = ((CBBItem)cbbSTAFF.SelectedItem).VALUE; NEWINVOICE.NgayBan = dpDAY.Value; NEWINVOICE.MaKhachHang = ((CBBItem)cbbCUSTOMER.SelectedItem).VALUE; NEWINVOICE.SoTien = invoicePrice; NEWINVOICE.GiamGia = invoiceDiscount; try { MessageBox.Show("Tạo thành công hóa đơn", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information); DB.tblHoaDonBanHangs.Add(NEWINVOICE); DB.SaveChanges();// thêm đơn hàng vào DB foreach (DataRow data in DATA.Rows) { DB.tblChiTietHoaDonBanHangs.Add(BLL_CREATEINVOICE.Instance.GetInvoice_Detail(data, NEWINVOICE.MaHoaDonBan)); DB.SaveChanges();// thêm hóa đơn bán hàng chi tiết var item = DB.tblHangHoas.Find(data["MaHangHoa"].ToString()); item.SoLuong -= Convert.ToInt32(data["SoLuong"].ToString()); DB.SaveChanges();// thay đổi số lượng hàng hóa sau khi thanh toán } ShowProduct(); load(); } catch (Exception) { MessageBox.Show("Tạo hóa đơn thất bại. Mã đơn bị trùng", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }
//Btn thanh toán private void btnPayment_Click(object sender, EventArgs e) { string message = "Thông tin lỗi:\n"; tblHoaDonBanHang invoice = new tblHoaDonBanHang(); invoice.MaHoaDonBan = txtIdInvoice.Text.Trim(); invoice.MaNhanVien = ((CBBItem)cbbStaff.SelectedItem).VALUE; invoice.NgayBan = dpDate.Value; invoice.MaKhachHang = idCustomer; invoice.SoTien = intoMoney; invoice.GiamGia = invoiceDiscount; if (String.IsNullOrEmpty(invoice.MaKhachHang) || (dataTable.Rows.Count == 0) || (sendByCustomer < intoMoney) || (intoMoney < 0)) { if (String.IsNullOrEmpty(invoice.MaKhachHang)) { message += "+ Khách hàng trống\n"; } if (dataTable.Rows.Count == 0) { message += "+ Hóa đơn trống sản phẩm\n"; } if (sendByCustomer < intoMoney) { message += "+ Số tiền của khách hàng trả không hợp lệ\n"; } if (intoMoney < 0) { message += "+ Hóa đơn âm tiền\n"; } MessageBox.Show(message, "Lỗi tạo đơn", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { DialogResult answer = MessageBox.Show("Bạn chắc nhắn muốn thanh toán?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (answer == DialogResult.Yes) { BLL_SALEPRODUCT.Instance.FuncPayment(invoice, dataTable); // Payment invoice MessageBox.Show("Tạo thành công hóa đơn", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information); LoadData(); ResetInvoice(true); } } }