@Override
 protected void executeCommand() {
   InitOldParentTagName();
   TagsDirector.getInstance()
       .MoveTag(getParameters().getTagId(), getParameters().getNewParentId());
   setSucceeded(true);
 }
  public String getNewParentTagName() {
    tags newParent = TagsDirector.getInstance().GetTagById(getParameters().getNewParentId());
    if (newParent != null) {
      return newParent.gettag_name();
    }

    return "[null]";
  }
 private void InitOldParentTagName() {
   if (getTag() != null && getTag().getparent_id() != null) {
     tags parent =
         TagsDirector.getInstance().GetTagById(new Guid(getTag().getparent_id().toString()));
     if (parent != null) {
       _oldParnetTagName = parent.gettag_name();
     }
   }
 }
 @Override
 protected boolean canDoAction() {
   boolean returnValue = true;
   if (getParameters().getNewParentId().equals(getParameters().getTagId())) {
     addCanDoActionMessage(VdcBllMessages.TAGS_SPECIFIED_TAG_CANNOT_BE_THE_PARENT_OF_ITSELF);
     returnValue = false;
   }
   if (TagsDirector.getInstance()
       .IsTagDescestorOfTag(getParameters().getTagId(), getParameters().getNewParentId())) {
     addCanDoActionMessage(VdcBllMessages.TAGS_SPECIFIED_TAG_CANNOT_BE_THE_PARENT_OF_ITSELF);
     returnValue = false;
   }
   return returnValue;
 }
 @Override
 protected void executeQueryCommand() {
   getQueryReturnValue().setReturnValue(TagsDirector.getInstance().GetAllTags());
 }