public void delete(Long tagId, boolean deleteLinks) { if (tagId != null) { Tag tag = tagDao.find(tagId); if (tag != null) { if (deleteLinks) { for (Client client : tag.getClients()) { Set<Tag> cltags = client.getTags(); cltags.remove(tag); client.setTags(cltags); if (validate(client)) { clientDao.update(client); addError(client.getNameCompany()); } } tagDao.delete(tag); } else { tag.setDeleteDate(new Date()); } } else { addError("Не удалось найти тэг"); } } else { addError("Ид тэга не передан"); } }
public void changeName(Long tagId, String newName, Long pkId) { if (tagId != null && newName != null && pkId != null) { Tag tag = tagDao.find(tagId); boolean unique = true; boolean deleted = false; Tag existingTag = getTagByNameAndPkId(newName, pkId); Tag deletedTag = getDeletedTagByNameAndPkId(newName, pkId); if (existingTag != null) { unique = false; ; if (deletedTag != null) { deleted = true; } } if (unique) { if (tag != null) { tag.setName(newName); if (validate(tag)) { tagDao.update(tag); } } else { addError("Не удалось найти тэг"); } } else { if (deleted) { tagDao.delete(deletedTag); tag.setName(newName); if (validate(tag)) { tagDao.update(tag); } } else { addError("Такой тэг уже есть"); } } } else { if (tagId == null) { addError("Ид тэга не получен"); } if (newName == null) { addError("Имя не получено"); } if (pkId == null) { addError("Ошибка личного кабинета"); } } }