/// <summary> /// Deletes the entire tag or specific tag value. /// </summary> /// <param name="tag">The tag name</param> /// <param name="values">Values to remove</param> /// <returns></returns> public PSTag DeleteTag(string tag, List <string> values) { PSTag tagObject = null; if (values == null || values.Count != 1) { tagObject = GetTag(tag); if (int.Parse(tagObject.Count) > 0) { throw new Exception(Resources.CanNotDeleteTag); } } if (values == null || values.Count == 0) { tagObject = GetTag(tag); tagObject.Values.ForEach(v => ResourceManagementClient.Tags.DeleteValue(tag, v.Name)); ResourceManagementClient.Tags.Delete(tag); } else { values.ForEach(v => ResourceManagementClient.Tags.DeleteValue(tag, v)); tagObject = GetTag(tag); } return(tagObject); }
/// <summary> /// Deletes the entire tag or specific tag value. /// </summary> /// <param name="tag">The tag name</param> /// <param name="values">Values to remove</param> /// <returns></returns> public PSTag DeleteTag(string tag, List <string> values) { PSTag tagObject = null; if (values == null || values.Count == 0) { tagObject = GetTag(tag); tagObject.Values.ForEach(v => ResourceManagementClient.Tags.DeleteValue(tag, v.Name)); ResourceManagementClient.Tags.Delete(tag); } else { values.ForEach(v => ResourceManagementClient.Tags.DeleteValue(tag, v)); tagObject = GetTag(tag); } return(tagObject); }