public void loadSaleInvoice() { selectedSaleInvoice = null; List <ActionForm> listAction = new List <ActionForm>() { new ActionForm("choose", "Chọn thao tác"), new ActionForm("view", "Xem chi tiết"), new ActionForm("create", "Thêm hóa đơn"), new ActionForm("delete", "Xóa hóa đơn") }; cbActionSaleInvoice.DataSource = listAction; cbActionSaleInvoice.DisplayMember = "action"; cbActionSaleInvoice.ValueMember = "key"; dgvHoaDonBan.DataSource = new db_sale_managementEntities().hoa_don_ban.ToList(); List <khach_hang> listCustomer = new db_sale_managementEntities().khach_hang.ToList(); cbKhachHang.DataSource = listCustomer; cbKhachHang.DisplayMember = "ho_ten"; cbKhachHang.ValueMember = "ma_khach_hang"; List <nhan_vien> listStaff = new db_sale_managementEntities().nhan_vien.ToList(); cbNhanVien.DataSource = listStaff; cbNhanVien.DisplayMember = "ho_ten"; cbNhanVien.ValueMember = "ma_nhan_vien"; }
private void dgvHoaDonBan_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e) { try { selectedSaleInvoice = db.hoa_don_ban.Find(dgvHoaDonBan.Rows[e.RowIndex].Cells[0].Value); } catch (Exception) { MessageBox.Show("Click chuột sai vị trí", "Lỗi", MessageBoxButtons.OK); } }
private void btnSave_Click(object sender, EventArgs e) { try { int quantity = txtQuantity.Value; if (quantity <= 0) { MessageBox.Show("Số lượng phải là số nguyên dương!", "Thông báo", MessageBoxButtons.OK); return; } } catch (Exception) { MessageBox.Show("Yêu cầu nhập đúng định dạng của thông tin!", "Thông báo", MessageBoxButtons.OK); } try { san_pham product = db.san_pham.Find(int.Parse(cbProduct.SelectedValue.ToString())); if (txtQuantity.Value > product.so_luong) { MessageBox.Show("Số lượng sản phẩm không đủ!", "Thông báo", MessageBoxButtons.OK); return; } //Thêm chi tiết hóa đơn chi_tiet_hoa_don_ban entity = new chi_tiet_hoa_don_ban(); entity.ma_hoa_don = selectedSaleInvoice.ma_hoa_don; entity.ma_san_pham = product.ma_san_pham; entity.so_luong = txtQuantity.Value; entity.don_gia = product.gia_san_pham; entity.thanh_tien = entity.so_luong * entity.don_gia; db.chi_tiet_hoa_don_ban.Add(entity); db.SaveChanges(); //Cập nhật số lượng sản phẩm product.so_luong -= entity.so_luong; product.tinh_trang = (product.so_luong > 0) ? true : false; db.SaveChanges(); //Cập nhật tổng tiền của hóa đơn hoa_don_ban saleInvoice = db.hoa_don_ban.Find(selectedSaleInvoice.ma_hoa_don); List <chi_tiet_hoa_don_ban> listDetail = db.chi_tiet_hoa_don_ban.Where(x => x.ma_hoa_don == selectedSaleInvoice.ma_hoa_don).ToList(); double sum = 0; foreach (chi_tiet_hoa_don_ban item in listDetail) { sum += item.thanh_tien; } saleInvoice.tong_tien = sum; db.SaveChanges(); load(); } catch (Exception) { MessageBox.Show("Sản phẩm không tồn tại hoặc đã có trong hóa đơn!", "Thông báo", MessageBoxButtons.OK); } }
public void load() { selectedSaleInvoice = QuanLy.selectedSaleInvoice; dgvDetail.DataSource = db.chi_tiet_hoa_don_ban.Where(x => x.ma_hoa_don == selectedSaleInvoice.ma_hoa_don).ToList(); lblTitle.Text = "Mã hóa đơn: " + selectedSaleInvoice.ma_hoa_don; cbProduct.DataSource = db.san_pham.ToList(); cbProduct.DisplayMember = "ten_san_pham"; cbProduct.ValueMember = "ma_san_pham"; cbProduct.Enabled = false; txtQuantity.Enabled = false; btnDelete.Enabled = false; btnSave.Enabled = false; }
private void btnDelete_Click(object sender, EventArgs e) { san_pham product = db.san_pham.Find(int.Parse(cbProduct.SelectedValue.ToString())); chi_tiet_hoa_don_ban entity = db.chi_tiet_hoa_don_ban.SingleOrDefault(x => x.ma_hoa_don == selectedSaleInvoice.ma_hoa_don && x.ma_san_pham == product.ma_san_pham); db.chi_tiet_hoa_don_ban.Remove(entity); db.SaveChanges(); //Cập nhật tổng tiền của hóa đơn hoa_don_ban saleInvoice = db.hoa_don_ban.Find(selectedSaleInvoice.ma_hoa_don); List <chi_tiet_hoa_don_ban> listDetail = db.chi_tiet_hoa_don_ban.Where(x => x.ma_hoa_don == selectedSaleInvoice.ma_hoa_don).ToList(); double sum = 0; foreach (chi_tiet_hoa_don_ban item in listDetail) { sum += item.thanh_tien; } saleInvoice.tong_tien = sum; db.SaveChanges(); MessageBox.Show("Xóa dữ liệu thành công!", "Thông báo", MessageBoxButtons.OK); load(); }
private void cbActionSaleInvoice_SelectedValueChanged(object sender, EventArgs e) { if (USER_LOGIN.phan_quyen > 2 && check == 1) { MessageBox.Show("Bạn không có quyền thực hiện thao tác này!", "Thông báo", MessageBoxButtons.OK); return; } string selectedAction = cbActionSaleInvoice.SelectedValue.ToString(); switch (selectedAction) { case "view": if (selectedSaleInvoice == null) { MessageBox.Show("Chọn hóa đơn muốn xem chi tiết!", "Thông báo", MessageBoxButtons.OK); refresh(); return; } else { ChiTietHoaDonBan xform = new ChiTietHoaDonBan(); xform.ShowDialog(this); refresh(); } break; case "create": hoa_don_ban entity = new hoa_don_ban(); entity.ngay_lap = DateTime.Now; entity.tong_tien = 0; entity.ma_khach_hang = int.Parse(cbKhachHang.SelectedValue.ToString()); entity.ma_nhan_vien = int.Parse(cbNhanVien.SelectedValue.ToString()); db.hoa_don_ban.Add(entity); db.SaveChanges(); MessageBox.Show("Thêm dữ liệu thành công!", "Thông báo", MessageBoxButtons.OK); refresh(); break; case "delete": try { if (selectedSaleInvoice == null) { MessageBox.Show("Chọn hóa đơn cần xóa!", "Thông báo", MessageBoxButtons.OK); refresh(); return; } else { if (MessageBox.Show(null, "Việc xóa hóa đơn này sẽ làm mất đi cả các thông tin chi tiết của hóa đơn. Bạn có chắc chắn muốn xóa không?", "Xác nhận", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) { List <chi_tiet_hoa_don_ban> listDetail = db.chi_tiet_hoa_don_ban.Where(x => x.ma_hoa_don == selectedSaleInvoice.ma_hoa_don).ToList(); foreach (chi_tiet_hoa_don_ban item in listDetail) { db.chi_tiet_hoa_don_ban.Remove(item); db.SaveChanges(); } db.hoa_don_ban.Remove(selectedSaleInvoice); db.SaveChanges(); refresh(); MessageBox.Show("Xóa dữ liệu thành công!", "Chúc mừng", MessageBoxButtons.OK); } } } catch (Exception) { MessageBox.Show("Xóa thất bại", "Lỗi", MessageBoxButtons.OK); } break; } }