/// <summary>
        /// 加载批注标签数据
        /// </summary>
        private async void LoadPostilTagData()
        {
            PostilTagList.Clear();
            var listParams = new ListParams {
                Search = Query.Eq(Hubs.Tag.ProjectId, Mg.Get <IMgContext>().ProjectId)
            };
            var result = await DataApi.GetListAsync(Hubs.Tag.T, listParams);

            if (!result.IsOk)
            {
                return;
            }
            var records = result.GetRecords();

            foreach (var record in records)
            {
                var name  = record[Hubs.Tag.Name].As <string>();
                var model = new TagInfoModel
                {
                    Id   = record.Id,
                    Name = $" {name} "
                };
                PostilTagList.Add(model);
            }
        }
        /// <summary>
        /// 点击标签的事件
        /// </summary>
        /// <param name="model"></param>
        private void OnIsCheckedTag(TagInfoModel model)
        {
            var tagName = model.Name.Trim();

            if (model.TagIsChecked)
            {
                if (_changeFlag)
                {
                    _changeFlag = false;
                    return;
                }
                _changeFlag = true;
                if (string.IsNullOrEmpty(PostilTag))
                {
                    PostilTag = tagName;
                }
                else
                {
                    PostilTag += "," + tagName;
                }
            }
            else
            {
                if (_changeFlag)
                {
                    _changeFlag = false;
                    return;
                }
                if (string.IsNullOrEmpty(PostilTag))
                {
                    return;
                }
                _changeFlag = true;
                var index = PostilTag.IndexOf(tagName, StringComparison.Ordinal);
                switch (index)
                {
                case -1:
                    break;

                case 0:
                    PostilTag = PostilTag.Remove(index, tagName.Length);
                    var i = PostilTag.IndexOf(',');
                    if (i != -1)
                    {
                        PostilTag = PostilTag.Remove(i, 1);
                    }
                    break;

                default:
                    var name = "," + tagName;
                    PostilTag = PostilTag.Remove(index - 1, name.Length);
                    break;
                }
            }
        }
        /// <summary>
        /// 删除标签事件
        /// </summary>
        /// <param name="model"></param>
        public async void OnDeleteTag(TagInfoModel model)
        {
            //var showResult = this.ShowMessage("确定删除[" + model.Name + "]标签吗?", "提示", MessageBoxButton.OKCancel);
            //if (showResult == MessageBoxResult.Cancel)
            //    return;
            var result = await DataApi.DeleteAsync(Hubs.Tag.T, new[] { model.Id });

            if (result.IsOk)
            {
                PostilTagList.Remove(model);
            }
        }
Example #4
0
 private void mnuAddTag_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         var node = treeGroup.SelectedItem as TreeViewItem;
         //node group
         if (node == null || (NodeType)node.Tag != NodeType.Group)
         {
             throw new Exception("Please, select a group");
         }
         var dlg = new dlgInputDialog("Please input Tag name:", "");
         if (dlg.ShowDialog() == true)
         {
             var tagName = dlg.Answer;
             if (tagName == "")
             {
                 throw new Exception("Please input Tag name");
             }
             var nParent = node.Parent as TreeViewItem;
             var info    = new TagInfoModel()
             {
                 Server = new ServerModel()
                 {
                     Name = nParent.Header.ToString()
                 },
                 Group = new GroupModel()
                 {
                     Name = node.Header.ToString()
                 },
                 Tag = new TagModel()
                 {
                     Name = tagName
                 }
             };
             var success = _opcService.AddTag(info);
             if (!success)
             {
                 MessageBox.Show("Can not write");
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "Info", MessageBoxButton.OK, MessageBoxImage.Warning);
     }
 }
Example #5
0
 public bool AddTag(TagInfoModel model)
 {
     try
     {
         var tag = new TagRequestModel()
         {
             RequestType = RequestType.AddTag,
             Server      = model.Server,
             Group       = model.Group,
             Tag         = model.Tag
         };
         var jsontext = JsonConvert.SerializeObject(tag);
         WriteValue(jsontext);
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }