Exemple #1
0
        /// <summary>
        /// Sends a GetPartsMetadata message to a store.
        /// </summary>
        /// <param name="uris">The collection of growing object URIs.</param>
        /// <param name="extension">The message header extension.</param>
        /// <returns>The sent message on success; <c>null</c> otherwise.</returns>
        public virtual EtpMessage <GetPartsMetadata> GetPartsMetadata(IDictionary <string, string> uris, IMessageHeaderExtension extension = null)
        {
            var body = new GetPartsMetadata
            {
                Uris = uris ?? new Dictionary <string, string>(),
            };

            return(SendRequest(body, extension: extension));
        }
        /// <summary>
        /// Gets the metadata for growing object parts.
        /// </summary>
        /// <param name="uris">The collection of growing object URIs.</param>
        /// <returns>The message identifier.</returns>
        public long GetPartsMetadata(IList <string> uris)
        {
            var header = CreateMessageHeader(Protocols.GrowingObject, MessageTypes.GrowingObject.GetPartsMetadata);

            var message = new GetPartsMetadata
            {
                Uris = uris
            };

            return(Session.SendMessage(header, message));
        }
Exemple #3
0
        /// <summary>
        /// Handles the GetPartsMetadata message from a store.
        /// </summary>
        /// <param name="header">The message header.</param>
        /// <param name="message">The GetPartsMetadata message.</param>
        protected virtual void HandleGetPartsMetadata(IMessageHeader header, GetPartsMetadata message)
        {
            var args     = Notify(OnGetPartsMetadata, header, message);
            var metadata = new List <PartsMetadataInfo>();
            var errors   = new List <ErrorInfo>();

            HandleGetPartsMetadata(args, metadata, errors);

            if (!args.Cancel)
            {
                GetPartsMetadataResponse(header, metadata, errors);
            }
        }