protected override bool RunInternal(object options) { TagVerbOptions localOptions = options as TagVerbOptions; Objects.Version ver = Workspace.GetPartialVersion(localOptions.Version); if (ver == null) { Printer.PrintMessage("#e#Error:## can't find version #b#\"{0}\"## for tag alteration.", localOptions.Version); return(false); } if (localOptions.TagsToAdd != null) { foreach (var x in localOptions.TagsToAdd) { if (!x.StartsWith("#")) { Printer.PrintMessage("Can't add tag #b#{0}##. Tag is required to start with a \"\\#\"", x); return(false); } if (x.Length == 1) { Printer.PrintMessage("Can't add an empty tag."); return(false); } } } if (localOptions.TagsToRemove != null) { foreach (var x in localOptions.TagsToRemove) { if (!x.StartsWith("#")) { Printer.PrintMessage("Can't remove tag #b#{0}##. Tag is required to start with a \"\\#\"", x); return(false); } if (x.Length == 1) { Printer.PrintMessage("Can't remove an empty tag."); return(false); } } } if (localOptions.TagsToAdd != null) { foreach (var x in localOptions.TagsToAdd) { Workspace.AddTag(ver.ID, x.Substring(1)); } } if (localOptions.TagsToRemove != null) { foreach (var x in localOptions.TagsToRemove) { Workspace.RemoveTag(ver.ID, x.Substring(1)); } } return(true); }