Пример #1
0
 // Если тэга с таким именем не было - просто создается, если был, но был удален без очистки линков
 // - восстанавливается
 // Если имя тэга уникально, при попытке добавления такого-же будет ошибка
 public void create(String name, Long pkId) {
   if (adminService.tarifIsNotExpired(pkId)) {
     boolean unique = true;
     boolean deleted = false;
     Tag existingTag = getTagByNameAndPkId(name, pkId);
     Tag deletedTag = getDeletedTagByNameAndPkId(name, pkId);
     if (existingTag != null) {
       unique = false;
       if (deletedTag != null) {
         deleted = true;
       }
     }
     if (unique) {
       Tag tag = new Tag();
       tag.setCabinet(pkDao.find(pkId));
       tag.setName(name);
       if (validate(tag)) {
         tagDao.save(tag);
       }
     } else {
       if (deleted) {
         deletedTag.setDeleteDate(null);
         if (validate(deletedTag)) {
           tagDao.update(deletedTag);
         }
       } else {
         addError("Такой тэг уже есть");
       }
     }
   } else {
     addError("Не удалось добваить тэг в связи с ограничениями тарифа");
   }
 }
Пример #2
0
 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("Ошибка личного кабинета");
     }
   }
 }