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 boolean deleteClientTagLink(Long ctlId){ ClientTagLink ctl = clientTagLinkDao.find(ctlId); if(ctl!=null){ clientTagLinkDao.delete(ctl); return true; } addError("Связь Тэга с клиентом не найдена"); return false; }*/ public void deleteClientTag(Long clientId, Long tagId, Long pkId) { if (pkId != null) { if (clientId != null) { Client c = clientDao.find(clientId); if (tagId != null) { Tag t = tagDao.find(tagId); Set<Tag> tags = c.getTags(); tags.remove(t); c.setTags(tags); if (validate(c)) { clientDao.update(c); } } else { addError("Ид тэга не передан"); } } else { addError("Ид клиента не передан"); } } else { addError("Ошибка личного кабинета"); } }
public void addTagsToClient(Long clientId, Long[] tagIds, Long pkId) { if (pkId != null) { if (tagIds != null && !(tagIds.length == 1 && tagIds[0] == (long) 0)) { HashMap<Long, Tag> tagMap = getAllActiveTagsMap(pkId); Client client = clientDao.find(clientId); Set<Tag> tags = client.getTags(); if (tags == null) { tags = new HashSet(); } for (Long tagId : tagIds) { Tag tag = tagMap.get(tagId); if (tag != null) { tags.add(tag); } } client.setTags(tags); if (validate(client)) { clientDao.update(client); } } } else { addError("Ошибка личного кабинета"); } }