/// <summary> /// CRUD operations for inference classification - Async /// </summary> /// <param name="exchangeService"></param> public static async System.Threading.Tasks.Task CreateReadUpdateDeleteInferenceClassificationOverrideAsync(ExchangeService exchangeService) { // Cleanup. List <InferenceClassificationOverride> overrides = await exchangeService.GetInferenceClassificationOverridesAsync(); foreach (InferenceClassificationOverride classificationOverride in overrides) { await classificationOverride.DeleteAsync(); } InferenceClassificationOverride inferenceClassification = new InferenceClassificationOverride(exchangeService); inferenceClassification.ClassifyAs = InferenceClassificationType.Focused; inferenceClassification.SenderEmailAddress = new EmailAddress() { Address = "*****@*****.**" }; Assert.IsNull(inferenceClassification.Id); await inferenceClassification.SaveAsync(); Assert.IsNotNull(inferenceClassification.Id); List <InferenceClassificationOverride> inferenceClassificationOverrides = await exchangeService.GetInferenceClassificationOverridesAsync(); Assert.IsTrue(inferenceClassificationOverrides.Count == 1); Assert.AreEqual( inferenceClassificationOverrides[0].ClassifyAs, inferenceClassification.ClassifyAs); Assert.AreEqual( inferenceClassificationOverrides[0].SenderEmailAddress.Address, inferenceClassification.SenderEmailAddress.Address); inferenceClassification.ClassifyAs = InferenceClassificationType.Other; await inferenceClassification.UpdateAsync(); inferenceClassificationOverrides = await exchangeService.GetInferenceClassificationOverridesAsync(); Assert.IsTrue(inferenceClassificationOverrides.Count == 1); Assert.AreEqual( inferenceClassificationOverrides[0].ClassifyAs, InferenceClassificationType.Other); await inferenceClassification.DeleteAsync(); Assert.IsNull(inferenceClassification.Id); Assert.IsNull(inferenceClassification.SenderEmailAddress); }
/// <summary> /// CRUD operations for inference classification. /// </summary> /// <param name="exchangeService"></param> public static void CreateReadUpdateDeleteInferenceClassificationOverride(ExchangeService exchangeService) { // Cleanup. List <InferenceClassificationOverride> overrides = exchangeService.GetInferenceClassificationOverrides(); foreach (InferenceClassificationOverride classificationOverride in overrides) { classificationOverride.Delete(); } InferenceClassificationOverride inferenceClassification = new InferenceClassificationOverride(exchangeService); inferenceClassification.ClassifyAs = InferenceClassificationType.Focused; inferenceClassification.SenderEmailAddress = new EmailAddress() { Address = "*****@*****.**" }; Assert.IsNull(inferenceClassification.Id); inferenceClassification.Save(); Assert.IsNotNull(inferenceClassification.Id); List <InferenceClassificationOverride> inferenceClassificationOverrides = exchangeService.GetInferenceClassificationOverrides(); Assert.IsTrue(inferenceClassificationOverrides.Count == 1); Assert.AreEqual( inferenceClassificationOverrides[0].ClassifyAs, inferenceClassification.ClassifyAs); Assert.AreEqual( inferenceClassificationOverrides[0].SenderEmailAddress.Address, inferenceClassification.SenderEmailAddress.Address); inferenceClassification.ClassifyAs = InferenceClassificationType.Other; inferenceClassification.Update(); inferenceClassificationOverrides = exchangeService.GetInferenceClassificationOverrides(); Assert.IsTrue(inferenceClassificationOverrides.Count == 1); Assert.AreEqual( inferenceClassificationOverrides[0].ClassifyAs, InferenceClassificationType.Other); inferenceClassification.Delete(); Assert.IsNull(inferenceClassification.Id); Assert.IsNull(inferenceClassification.SenderEmailAddress); }
/// <summary> /// Update the navigation property overrides in users /// <param name="body"></param> /// <param name="requestConfiguration">Configuration for the request such as headers, query parameters, and middleware options.</param> /// </summary> public RequestInformation CreatePatchRequestInformation(InferenceClassificationOverride body, Action <InferenceClassificationOverrideItemRequestBuilderPatchRequestConfiguration> requestConfiguration = default) { _ = body ?? throw new ArgumentNullException(nameof(body)); var requestInfo = new RequestInformation { HttpMethod = Method.PATCH, UrlTemplate = UrlTemplate, PathParameters = PathParameters, }; requestInfo.SetContentFromParsable(RequestAdapter, "application/json", body); if (requestConfiguration != null) { var requestConfig = new InferenceClassificationOverrideItemRequestBuilderPatchRequestConfiguration(); requestConfiguration.Invoke(requestConfig); requestInfo.AddRequestOptions(requestConfig.Options); requestInfo.AddHeaders(requestConfig.Headers); } return(requestInfo); }
public async Task Test_MultiThreadTaskExecution() { ExchangeService exchangeServiceMailboxA = this.GetExchangeService(AppConfig.MailboxA); var itemsFromInbox1MailboxA = exchangeServiceMailboxA.FindItemsAsync( new FolderId(WellKnownFolderName.Inbox), new MessageView(20)); var itemsFromSentMailboxA = exchangeServiceMailboxA.FindItemsAsync( new FolderId(WellKnownFolderName.SentItems), new MessageView(20)); var itemsFromInbox2MailboxA = exchangeServiceMailboxA.FindItemsAsync( new FolderId(WellKnownFolderName.Inbox), new MessageView(20)); ExchangeService exchangeServiceMailboxB = this.GetExchangeService(AppConfig.MailboxB); var itemsFromInbox1MailboxB = exchangeServiceMailboxB.FindItemsAsync( new FolderId(WellKnownFolderName.Inbox), new MessageView(20)); var itemsFromSentMailboxB = exchangeServiceMailboxB.FindItemsAsync( new FolderId(WellKnownFolderName.SentItems), new MessageView(20)); var itemsFromInbox2MailboxB = exchangeServiceMailboxB.FindItemsAsync( new FolderId(WellKnownFolderName.Inbox), new MessageView(20)); var createInferenceClassificationMailboxA = exchangeServiceMailboxA.CreateInferenceClassificationOverrideAsync(new InferenceClassificationOverride() { ClassifyAs = InferenceClassificationType.Focused, SenderEmailAddress = new EmailAddress() { Address = "*****@*****.**" } }); var createInferenceClassificationMailboxB = exchangeServiceMailboxA.CreateInferenceClassificationOverrideAsync(new InferenceClassificationOverride() { ClassifyAs = InferenceClassificationType.Focused, SenderEmailAddress = new EmailAddress() { Address = "*****@*****.**" } }); foreach (MailFolder folder in await exchangeServiceMailboxA.FindFoldersAsync(new FolderId(WellKnownFolderName.MsgFolderRoot), null, new FolderView(10))) { Assert.AreEqual( AppConfig.MailboxA, folder.MailboxId.Id); } foreach (Item item in await itemsFromInbox1MailboxA) { if (item is Message msg) { Assert.AreEqual( AppConfig.MailboxA, msg.MailboxId.Id); } } foreach (Item item in await itemsFromInbox1MailboxB) { if (item is Message msg) { Assert.AreEqual( AppConfig.MailboxB, msg.MailboxId.Id); } } InferenceClassificationOverride inferenceClassificationOverrideA = await createInferenceClassificationMailboxA; inferenceClassificationOverrideA.SenderEmailAddress = new EmailAddress() { Address = "*****@*****.**" }; await inferenceClassificationOverrideA.UpdateAsync(); Assert.AreEqual( "*****@*****.**", inferenceClassificationOverrideA.SenderEmailAddress.Address); foreach (MailFolder folder in await exchangeServiceMailboxB.FindFoldersAsync(new FolderId(WellKnownFolderName.MsgFolderRoot), null, new FolderView(10))) { Assert.AreEqual( AppConfig.MailboxB, folder.MailboxId.Id); } foreach (Item item in await itemsFromInbox2MailboxA) { if (item is Message msg) { Assert.AreEqual( AppConfig.MailboxA, msg.MailboxId.Id); } } InferenceClassificationOverride inferenceClassificationOverrideB = await createInferenceClassificationMailboxB; inferenceClassificationOverrideB.ClassifyAs = InferenceClassificationType.Other; await inferenceClassificationOverrideB.UpdateAsync(); Assert.AreEqual( InferenceClassificationType.Other, inferenceClassificationOverrideB.ClassifyAs); foreach (Item item in await itemsFromSentMailboxB) { if (item is Message msg) { Assert.AreEqual( AppConfig.MailboxB, msg.MailboxId.Id); } } foreach (Item item in await itemsFromSentMailboxA) { if (item is Message msg) { Assert.AreEqual( AppConfig.MailboxA, msg.MailboxId.Id); } } foreach (Item item in await itemsFromInbox2MailboxB) { if (item is Message msg) { Assert.AreEqual( AppConfig.MailboxB, msg.MailboxId.Id); } } }