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); }