Ejemplo n.º 1
0
        /// <summary>
        /// Acts as a container for the Fetch element, the EmptyFolderContents element, and the Move element to provide batched online handling of these operations against the server.
        /// </summary>
        /// <param name="request">An ItemOperationsRequest object that contains the request information.</param>
        /// <param name="deliveryMethod">Delivery method specifies what kind of response is accepted.</param>
        /// <returns>ItemOperations command response</returns>
        public ItemOperationsResponse ItemOperations(ItemOperationsRequest request, DeliveryMethodForFetch deliveryMethod)
        {
            ItemOperationsResponse response = this.activeSyncClient.ItemOperations(request, deliveryMethod);

            this.VerifyTransportRequirements();
            this.VerifyWBXMLCapture(CommandName.ItemOperations, response);
            this.VerifyItemOperationsCommand(response);
            return(response);
        }
 /// <summary>
 /// Retrieves data from the server for one or more individual documents.
 /// </summary>
 /// <param name="itemOperationsRequest">ItemOperations command request.</param>
 /// <param name="deliverMethod">Deliver method parameter.</param>
 /// <returns>ItemOperations command response.</returns>
 public ItemOperationsResponse ItemOperations(ItemOperationsRequest itemOperationsRequest, DeliveryMethodForFetch deliverMethod)
 {
     ItemOperationsResponse itemOperationsResponse = this.activeSyncClient.ItemOperations(itemOperationsRequest, deliverMethod);
     Site.Assert.AreEqual<HttpStatusCode>(HttpStatusCode.OK, itemOperationsResponse.StatusCode, "The call should be successful.");
     this.VerifyTransport();
     this.VerifyItemOperations(itemOperationsResponse);
     this.VerifyWBXMLCapture();
     return itemOperationsResponse;
 }
        /// <summary>
        /// Retrieves an item from the server by sending ItemOperationsRequest object.
        /// </summary>
        /// <param name="request">An ItemOperationsRequest object which contains the request information.</param>
        /// <param name="deliveryMethod">The delivery method specifies what kind of response is accepted.</param>
        /// <returns>An ItemOperationsStore object.</returns>
        public ItemOperationsStore ItemOperations(ItemOperationsRequest request, DeliveryMethodForFetch deliveryMethod)
        {
            ItemOperationsResponse response = this.activeSyncClient.ItemOperations(request, deliveryMethod);
            Site.Assert.IsNotNull(response, "If the ItemOperations command executes successfully, the response from server should not be null.");
            ItemOperationsStore itemOperationsStore = Common.LoadItemOperationsResponse(response);
            this.VerifyTransport();
            this.VerifyWBXMLCapture();
            this.VerifyItemOperationsResponse(itemOperationsStore);

            return itemOperationsStore;
        }
        /// <summary>
        /// Retrieves an item from the server by sending ItemOperationsRequest object.
        /// </summary>
        /// <param name="request">An ItemOperationsRequest object which contains the request information.</param>
        /// <param name="deliveryMethod">The delivery method specifies what kind of response is accepted.</param>
        /// <returns>An ItemOperationsStore object.</returns>
        public ItemOperationsStore ItemOperations(ItemOperationsRequest request, DeliveryMethodForFetch deliveryMethod)
        {
            ItemOperationsResponse response = this.activeSyncClient.ItemOperations(request, deliveryMethod);

            Site.Assert.IsNotNull(response, "If the ItemOperations command executes successfully, the response from server should not be null.");
            ItemOperationsStore itemOperationsStore = Common.LoadItemOperationsResponse(response);

            this.VerifyTransport();
            this.VerifyWBXMLCapture();
            this.VerifyItemOperationsResponse(itemOperationsStore);

            return(itemOperationsStore);
        }
        /// <summary>
        /// Fetch item with specified ServerID on the server.
        /// </summary>
        /// <param name="collectionId">The collection id.</param>
        /// <param name="serverId">The server id of the mail.</param>
        /// <param name="fileReference">The file reference of the attachment.</param>
        /// <param name="bodyPreferences">The bodyPreference in the options element.</param>
        /// <param name="bodyPartPreferences">The bodyPartPreference in the options element.</param>
        /// <param name="deliveryMethod">Indicate whether use multipart or inline method to send the request.</param>
        /// <returns>The item with specified ServerID.</returns>
        protected DataStructures.ItemOperations GetItemOperationsResult(string collectionId, string serverId, string fileReference, Request.BodyPreference[] bodyPreferences, Request.BodyPartPreference[] bodyPartPreferences, DeliveryMethodForFetch? deliveryMethod)
        {
            DataStructures.ItemOperations item = null;
            ItemOperationsRequest request = TestSuiteHelper.CreateItemOperationsRequest(collectionId, serverId, fileReference, bodyPreferences, bodyPartPreferences);

            int counter = 0;
            int waitTime = int.Parse(Common.GetConfigurationPropertyValue("WaitTime", this.Site));
            int retryCount = int.Parse(Common.GetConfigurationPropertyValue("RetryCount", this.Site));

            do
            {
                Thread.Sleep(waitTime);
                DataStructures.ItemOperationsStore itemOperationsStore = this.ASAIRSAdapter.ItemOperations(request, deliveryMethod ?? DeliveryMethodForFetch.Inline);

                // Since the item serverId or attachment fileReference is unique, there should be only one item in response
                this.Site.Assert.AreEqual<int>(
                    1,
                    itemOperationsStore.Items.Count,
                    "The count of Items in ItemOperations command response should be 1.");

                if (itemOperationsStore.Items[0].Email != null)
                {
                    item = itemOperationsStore.Items[0];
                }
            }
            while (item == null && counter < retryCount);

            this.Site.Assert.IsNotNull(item, "The item should be found, retry count: {0}.", counter);

            return item;
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Retrieves data from the server for one or more individual documents.
        /// </summary>
        /// <param name="itemOperationsRequest">ItemOperations command request.</param>
        /// <param name="deliverMethod">Deliver method parameter.</param>
        /// <returns>ItemOperations command response.</returns>
        public ItemOperationsResponse ItemOperations(ItemOperationsRequest itemOperationsRequest, DeliveryMethodForFetch deliverMethod)
        {
            ItemOperationsResponse itemOperationsResponse = this.activeSyncClient.ItemOperations(itemOperationsRequest, deliverMethod);

            Site.Assert.AreEqual <HttpStatusCode>(HttpStatusCode.OK, itemOperationsResponse.StatusCode, "The call should be successful.");
            this.VerifyTransport();
            this.VerifyItemOperations(itemOperationsResponse);
            this.VerifyWBXMLCapture();
            return(itemOperationsResponse);
        }