private void NewTag() { if (!string.IsNullOrEmpty(TagNameText) && SelectedTag > -1) { if (EditTagID == Guid.Empty)//New Tag { var tag = AnnCategoryTagUtil.Instance.AddAndReturnTag(TagNameText, AnnotationTools.TagColors[SelectedTag].ColorValue); var tagItem = new TagItem { Tag = tag, IsCheck = false }; TagCollections.Add(tagItem); UpdateTagCollection.Invoke(tagItem, TagEditEnum.New); } else// Edit Tag { var tag = AnnCategoryTagUtil.Instance.UpdateAndReturnTag(EditTagID, TagNameText, AnnotationTools.TagColors[SelectedTag].ColorValue); var editTagIndex = TagCollections.ToList <TagItem>().FindIndex(x => x.Tag.TagId == EditTagID); if (editTagIndex > -1) { TagCollections[editTagIndex] = new TagItem { Tag = tag, IsCheck = TagCollections[editTagIndex].IsCheck }; UpdateTagCollection.Invoke(TagCollections[editTagIndex], TagEditEnum.Edit); } } SwitchAnnoAndTag(true); } }
public void DeleteTag(Guid guid) { AnnCategoryTagUtil.Instance.DeleteTag(guid); var deleteTag = TagCollections.FirstOrDefault(x => x.Tag.TagId == guid); if (deleteTag != null) { TagCollections.Remove(deleteTag); UpdateTagCollection.Invoke(deleteTag, TagEditEnum.Delete); } }