/// <summary> /// Sends a GetPartsByRange message to a store. /// </summary> /// <param name="uri">The URI of the parent object.</param> /// <param name="indexInterval">The index interval.</param> /// <param name="includeOverlappingIntervals"><c>true</c> if overlapping intervals should be included; otherwise, <c>false</c>.</param> /// <param name="format">The format of the response (XML or JSON).</param> /// <param name="extension">The message header extension.</param> /// <returns>The sent message on success; <c>null</c> otherwise.</returns> public virtual EtpMessage <GetPartsByRange> GetPartsByRange(string uri, IndexInterval indexInterval, bool includeOverlappingIntervals = false, string format = Formats.Xml, IMessageHeaderExtension extension = null) { var body = new GetPartsByRange { Uri = uri ?? string.Empty, Format = format ?? Formats.Xml, IndexInterval = indexInterval, IncludeOverlappingIntervals = includeOverlappingIntervals, }; return(SendRequest(body, extension: extension)); }
/// <summary> /// Gets all list items in a growing object within an index range. /// </summary> /// <param name="uri">The URI of the parent object.</param> /// <param name="startIndex">The start index.</param> /// <param name="endIndex">The end index.</param> /// <param name="uom">The unit of measure.</param> /// <param name="depthDatum">The depth datum.</param> /// <param name="includeOverlappingIntervals"><c>true</c> if overlapping intervals should be included; otherwise, <c>false</c>.</param> /// <returns>The message identifier.</returns> public long GetPartsByRange(string uri, object startIndex, object endIndex, string uom, string depthDatum, bool includeOverlappingIntervals = false) { var header = CreateMessageHeader(Protocols.GrowingObject, MessageTypes.GrowingObject.GetPartsByRange); var message = new GetPartsByRange { Uri = uri, IndexInterval = new IndexInterval { StartIndex = new IndexValue { Item = startIndex }, EndIndex = new IndexValue { Item = endIndex }, Uom = uom ?? string.Empty, DepthDatum = depthDatum ?? string.Empty }, IncludeOverlappingIntervals = includeOverlappingIntervals }; return(Session.SendMessage(header, message)); }
/// <summary> /// Handles the GetPartsByRange message from a store. /// </summary> /// <param name="header">The message header.</param> /// <param name="message">The GetPartsByRange message.</param> protected virtual void HandleGetPartsByRange(IMessageHeader header, GetPartsByRange message) { Notify(OnGetPartsByRange, header, message); }