
// entities_module loaded











window.deleteItem = async function (id) {
  if (isEntityReferenced('item', id)) { alert('لا يمكن حذف الصنف لاستخدامه في حركات سابقة!'); return; }
  if (confirm('متأكد من حذف الصنف؟')) { await window.DB.remove('items', id); await loadData(); }
}

window.deleteWarehouse = async function (id) {
  if (isEntityReferenced('warehouse', id)) { alert('لا يمكن حذف المخزن لاستخدامه في حركات!'); return; }
  if (confirm('متأكد من حذف المخزن؟')) { await window.DB.remove('warehouses', id); await loadData(); }
}

window.deleteContact = async function (id) {
  if (isEntityReferenced('contact', id)) { alert('لا يمكن حذف جهة الاتصال لوجود فواتير مسجلة باسمه!'); return; }
  if (confirm('متأكد من الحذف؟')) { await window.DB.remove('contacts', id); await loadData(); }
}

window.deleteUnit = async function (id) {
  const u = currentUnits.find(x => String(x.id) === String(id));
  if (currentItems.some(i => i.unit === u.name)) { alert('لا يمكن حذف الوحدة لارتباطها بأصناف مسجلة!'); return; }
  if (confirm('متأكد من الحذف؟')) { await window.DB.remove('units', id); await loadData(); }
}

window.deleteUser = async function (id) {
  const u = currentUsers.find(x => String(x.id) === String(id));
  if (allInvoices.some(inv => inv.user === u.username)) { alert('لا يمكن حذفه لوجود حركات باسمه!'); return; }
  if (confirm('متأكد من حذف المستخدم؟')) { await window.DB.remove('users', id); await loadData(); }
}

