/**
   * Xóa (vĩnh viễn) một NhanVienBanHang.
   *
   * @param e NhanVienBanHang sẽ bị xóa.
   * @param force Nếu <code>force=true</code> thực hiện xóa NhanVienBanHang và các
   *     dsPhieuNhapDienThoai, dsPhieuNhapPhuKien. <br>
   *     Nếu <code>force=false</code> chỉ xóa nếu NhanVienBanHang không có bất kì danh sách phiếu
   *     nhập điện thoại hoặc phụ kiện nào.
   * @throws Exception Nếu NhanVienBanHang đã có danh sách phiếu nhập điện thoại hoạc phụ kiện và
   *     tham số <code>force=false</code>
   */
  public void makeTransient(NhanVienBanHang e, boolean force) throws Exception {
    if ((e.getDsPhieuNhapDienThoai().size() > 0 || e.getDsPhieuNhapPhuKien().size() > 0)
        && !force) {
      throw new Exception(
          "Không thể xóa nhân viên đã có danh sách phiếu nhập điện thoại hoặc phụ kiện");
    }

    nhanVienBanHangDAO.makeTransient(e, force);
  }
 /**
  * Tìm tất cả các NhanVienBanHang.
  *
  * @return Danh sách NhanVienBanHang.
  */
 public List<NhanVienBanHang> findAll() {
   return nhanVienBanHangDAO.findAll();
 }
 /**
  * Tìm một NhanVienBanHang theo ID.
  *
  * @param id id của NhanVienBanHang cần tìm.
  * @return NhanVienBanHang tỉm được. Nếu không tìm thấy trả về null.
  */
 public NhanVienBanHang findById(int id) {
   return nhanVienBanHangDAO.findById(id);
 }
 /**
  * Thêm mới hoặc cập nhật một NhanVienBanHang.
  *
  * @param e NhanVienBanHang sẽ được thêm mới hay cập nhật.
  * @return NhanVienBanHang đã được thêm mới hay cập nhật.
  */
 public NhanVienBanHang makePersistent(NhanVienBanHang e) {
   return nhanVienBanHangDAO.makePersistent(e);
 }