Opc.Ua.Com.Server.ComHdaProxy.CreateUpdateRequests C# (CSharp) Method

CreateUpdateRequests() private method

Creates the update requests.
private CreateUpdateRequests ( Session session, int serverHandles, System.DateTime timestamps, Annotation annotations ) : List
session Opc.Ua.Client.Session
serverHandles int
timestamps System.DateTime
annotations Annotation
return List
        private List<HdaUpdateRequest> CreateUpdateRequests(
            Session session,
            int[] serverHandles,
            DateTime[] timestamps,
            Annotation[][] annotations)
        {
            List<HdaUpdateRequest> requests = new List<HdaUpdateRequest>();

            for (int ii = 0; ii < serverHandles.Length; ii++)
            {
                HdaUpdateRequest request = new HdaUpdateRequest();
                requests.Add(request);

                // find handle.
                request.Handle = m_itemManager.LookupHandle(serverHandles[ii]);

                if (request.Handle == null)
                {
                    request.Error = ResultIds.E_INVALIDHANDLE;
                    continue;
                }

                request.ClientHandle = request.Handle.ClientHandle;

                // check if nothing to do.
                Annotation[] list = annotations[ii];

                if (list == null || list.Length == 0)
                {
                    request.Error = ResultIds.S_OK;
                    continue;
                }

                // get the annotations proprerty.
                NodeId annotationsId = m_itemManager.GetAnnotationsPropertyNodeId(session, request.Handle);

                if (NodeId.IsNull(annotationsId))
                {
                    request.Error = ResultIds.E_FAIL;
                    continue;
                }

                // specify the parameters for the request.
                UpdateDataDetails details = new UpdateDataDetails();

                details.NodeId = annotationsId;
                details.PerformInsertReplace = PerformUpdateType.Insert;

                for (int jj = 0; jj < list.Length; jj++)
                {
                    DataValue value = new DataValue();
                    value.WrappedValue = new ExtensionObject(list[jj]);
                    value.SourceTimestamp = timestamps[ii];
                    details.UpdateValues.Add(value);                    
                }

                request.Details = new ExtensionObject(details);
            }

            return requests;
        }
        #endregion

Same methods

ComHdaProxy::CreateUpdateRequests ( Session session, System.DateTime startTime, System.DateTime endTime, int serverHandles ) : List
ComHdaProxy::CreateUpdateRequests ( Session session, System.DateTime timestamps, int serverHandles ) : List
ComHdaProxy::CreateUpdateRequests ( Session session, PerformUpdateType updateType, int serverHandles, DaValue values ) : List