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);
     }
 }
Beispiel #2
0
        public void UpdateTagCollections(TagItem tagItem, TagEditEnum tagEditEnum)
        {
            if (tagItem != null)
            {
                switch (tagEditEnum)
                {
                case TagEditEnum.New:
                    TagCollections.Add(tagItem);
                    break;

                case TagEditEnum.Edit:
                    var editTagIndex = TagCollections.ToList <TagItem>().FindIndex(x => x.Tag.TagId == tagItem.Tag.TagId);
                    if (editTagIndex > -1)
                    {
                        TagCollections[editTagIndex] = new TagItem
                        {
                            Tag     = tagItem.Tag,
                            IsCheck = TagCollections[editTagIndex].IsCheck
                        };
                    }
                    break;

                case TagEditEnum.Delete:
                    var deleteTagIndex = TagCollections.ToList <TagItem>().FindIndex(x => x.Tag.TagId == tagItem.Tag.TagId);
                    if (deleteTagIndex > -1)
                    {
                        TagCollections.RemoveAt(deleteTagIndex);
                    }
                    break;
                }
            }
        }