/// <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; }
/// <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); }