public boolean setWards(Ward... newWards) { boolean wasSet = false; ArrayList<Ward> verifiedWards = new ArrayList<Ward>(); for (Ward aWard : newWards) { if (verifiedWards.contains(aWard)) { continue; } verifiedWards.add(aWard); } if (verifiedWards.size() != newWards.length || verifiedWards.size() < minimumNumberOfWards()) { return wasSet; } ArrayList<Ward> oldWards = new ArrayList<Ward>(wards); wards.clear(); for (Ward aNewWard : verifiedWards) { wards.add(aNewWard); if (oldWards.contains(aNewWard)) { oldWards.remove(aNewWard); } else { aNewWard.addEmployee(this); } } for (Ward anOldWard : oldWards) { anOldWard.removeEmployee(this); } wasSet = true; return wasSet; }
public void delete() { for (int i = shifts.size(); i > 0; i--) { Shift aShift = shifts.get(i - 1); aShift.delete(); } for (int i = privileges.size(); i > 0; i--) { Privilege aPrivilege = privileges.get(i - 1); aPrivilege.delete(); } Hospital placeholderHospital = hospital; this.hospital = null; placeholderHospital.removeEmployee(this); ArrayList<Ward> copyOfWards = new ArrayList<Ward>(wards); wards.clear(); for (Ward aWard : copyOfWards) { aWard.removeEmployee(this); } }
public boolean removeWard(Ward aWard) { boolean wasRemoved = false; if (!wards.contains(aWard)) { return wasRemoved; } if (numberOfWards() <= minimumNumberOfWards()) { return wasRemoved; } int oldIndex = wards.indexOf(aWard); wards.remove(oldIndex); if (aWard.indexOfEmployee(this) == -1) { wasRemoved = true; } else { wasRemoved = aWard.removeEmployee(this); if (!wasRemoved) { wards.add(oldIndex, aWard); } } return wasRemoved; }
public boolean addWard(Ward aWard) { boolean wasAdded = false; if (wards.contains(aWard)) { return false; } if (wards.contains(aWard)) { return false; } if (wards.contains(aWard)) { return false; } wards.add(aWard); if (aWard.indexOfEmployee(this) != -1) { wasAdded = true; } else { wasAdded = aWard.addEmployee(this); if (!wasAdded) { wards.remove(aWard); } } return wasAdded; }