Пример #1
0
 private void ModifyTagExcuted()
 {
     if (selectedTag == null)
     {
         return;
     }
     if (selectedTag.Tag.TagID == null)
     {
         foreach (TagItem tag in tags)
         {
             if (tag.Tag.TagName == tagName.Text)
             {
                 return;
             }
         }
         selectedTag.Tag.TagName = tagName.Text;
         Tag     temp    = new Tag(selectedTag.Tag.TagID, selectedTag.Tag.TagName, selectedTag.Tag.ResourceID);
         TagItem tagItem = TagItem.CreateTagItem(temp);
         tagItem.Tag   = temp;
         tagItem.State = selectedTag.State;
         int index = tags.IndexOf(selectedTag);
         tagList.SelectedItem = null;
         tags[index]          = tagItem;
         return;
     }
     TagModified(selectedTag.Tag, tagName.Text, tagModifiedCallBack);
 }
Пример #2
0
        private void SearchResponseCallBack(SearchResponseArgs e)
        {
            //更换逻辑,区分直接的和间接的。
            int  tmp           = 0;
            bool obj_attribute = false;

            if (e.Result != null)
            {
                tags.Clear();
                resources.Clear();
                foreach (IRequestObject obj in e.Result)
                {
                    obj_attribute = e.Result_Attribute[tmp];
                    if (obj is Tag)
                    {
                        TagItem item = TagItem.CreateTagItem(obj as Tag);

                        if (item.Tag.TagID == null)
                        {
                            item.State = TagItemState.FreeNew;
                            //说明为直接获得。
                        }
                        else
                        {
                            item.State = TagItemState.FreeImmediate;
                            //说明为间接获得。
                        }
                        tags.Add(item);
                    }
                    else if (obj is Resource)
                    {
                        ResourceItem item = new ResourceItem(obj as Resource);

                        if (obj_attribute)
                        {
                            //说明为直接获得。
                        }
                        else
                        {
                            //说明为间接获得。
                        }
                        resources.Add(item);
                    }
                    else
                    {
                        throw new Exception("New IRequestObject imported!");
                    }
                    tmp++;
                }
            }
            else
            {
            }
        }
Пример #3
0
 private void tagCreatedCallBack(TagCreatedResponseEArgs e)
 {
     if (e.tag != null)
     {
         TagItem tmpTag = TagItem.CreateTagItem(e.tag);
         tags.Add(tmpTag);
         TagAddAndSearch = tmpTag;
         foreach (ResourceItem resc in selectedResources)
         {
             if (RelationCreated != null)
             {
                 RelationCreated(e.tag, resc.Resource, RelationCreatedCallBack);
             }
         }
     }
 }