/// <summary> /// id is not null, valueSubscription is not null /// </summary> /// <param name="id"></param> /// <param name="clientObj"></param> public void AddItem(string id, object clientObj) { Logger?.LogDebug("XiListItemsManager.AddItem() " + id); ClientObjectInfo?modelItem; if (!_clientObjectInfosDictionary.TryGetValue(clientObj, out modelItem)) { modelItem = new ClientObjectInfo(id); _clientObjectInfosDictionary.Add(clientObj, modelItem); modelItem.ClientObj = clientObj; _xiItemsMustBeAddedOrRemoved = true; } }
/// <summary> /// Can be added several times with same elementId /// </summary> /// <param name="elementId"></param> /// <param name="clientObj"></param> public void AddItem(string elementId, object clientObj) { Logger.LogDebug("DataGrpcListItemsManager.AddItem() " + elementId); ClientObjectInfo?clientObjectInfo; if (!_clientObjectInfosDictionary.TryGetValue(clientObj, out clientObjectInfo)) { clientObjectInfo = new ClientObjectInfo(elementId); _clientObjectInfosDictionary.Add(clientObj, clientObjectInfo); clientObjectInfo.ClientObj = clientObj; _dataGrpcItemsMustBeAddedOrRemoved = true; } else { if (clientObjectInfo.ElementId != elementId) { Logger.LogError("DataGrpcListItemsManager.AddItem() error, duplicate clientObj " + elementId); } } }