Example #1
0
        /// <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);
 }