public bool EditTagPosition(Position position)
        {
            TagPosition tagPos = TagPositions.FindByCode(position.Tag);//判断是否存在实时数据

            if (tagPos == null)
            {
                TagPosition tagPosition = new TagPosition(position);
                if (TagPositions.Add(tagPosition))//添加新的实时数据
                {
                    return(true);
                }
                else
                {
                    ErrorMessage = Position.ErrorMessage;
                    return(false);
                }
            }
            else
            {
                tagPos.Edit(position);
                if (TagPositions.Edit(tagPos))//修改实时数据
                {
                    return(true);
                }
                else
                {
                    ErrorMessage = Position.ErrorMessage;
                    return(false);
                }
            }
        }
        private List <TagPosition> EditTagPositionList(List <Position> positions)
        {
            //1.获取列表
            List <TagPosition> tagPosList        = TagPositions.ToList();
            List <TagPosition> changedTagPosList = new List <TagPosition>();

            //2.修改数据
            for (int i = 0; i < positions.Count; i++)
            {
                Position position = positions[i];
                if (position == null)
                {
                    continue;                  //位置信息可能有null
                }
                TagPosition tagPos = tagPosList.Find(item => item.Tag == position.Tag);
                if (tagPos == null)
                {
                    continue;
                }
                tagPos.Edit(position);
                if (!changedTagPosList.Contains(tagPos))
                {
                    changedTagPosList.Add(tagPos);
                }
            }
            return(changedTagPosList);
        }