public async Task <List <ContactFolder> > GetAllChildContactFoldersAsync(string FolderId) { // Get all contact folders in the specified folder. Uri URL = Util.UseMicrosoftGraphInMailboxViewer ? new Uri($"https://graph.microsoft.com/v1.0/me/contactfolders/{FolderId}/childfolders/?$Top=1000&$select=Id,DisplayName") : new Uri($"https://outlook.office.com/api/v2.0/me/contactfolders/{FolderId}/childfolders/?$Top=1000&$select=Id,DisplayName"); List <ContactFolder> result = new List <ContactFolder>(); try { string stringResponse = await SendGetRequestAsync(URL); var jsonResponse = (JObject)JsonConvert.DeserializeObject(stringResponse); var folders = (JArray)jsonResponse.GetValue("value"); foreach (var item in folders) { var serializedObject = new ContactFolder(JsonConvert.SerializeObject(item)); result.Add(serializedObject); } } catch (Exception ex) { throw ex; } return(result); }
public static ContactFolder CreateFromId(string ID) { ContactFolder newContactFolder = new ContactFolder() { Id = ID }; return(newContactFolder); }
public async Task <ContactFolder> GetContactFolderAsync(string FolderId) { // Get the specified ContactFolder try { Uri URL = Util.UseMicrosoftGraphInMailboxViewer ? new Uri($"https://graph.microsoft.com/v1.0/me/contactfolders/{FolderId}") : new Uri($"https://outlook.office.com/api/v2.0/me/contactfolders/{FolderId}"); string rawJson = await SendGetRequestAsync(URL); var contactFolder = new ContactFolder(rawJson); return(contactFolder); } catch (Exception ex) { throw ex; } }
/// <summary> /// Update the navigation property contactFolders 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(ContactFolder body, Action <ContactFolderItemRequestBuilderPatchRequestConfiguration> 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 ContactFolderItemRequestBuilderPatchRequestConfiguration(); requestConfiguration.Invoke(requestConfig); requestInfo.AddRequestOptions(requestConfig.Options); requestInfo.AddHeaders(requestConfig.Headers); } return(requestInfo); }
private async void GetContactFolderProps(string FolderId) { // Get the folder. IContactFolder contactFolderResult = new ContactFolder(); try { contactFolderResult = await viewerHelper.GetContactFolderAsync(FolderId); } catch (Exception ex) { MessageBox.Show(ex.Message, "Office365APIEditor"); return; } // Add columns. dataGridView_FolderProps.Columns.Add("Property", "Property"); dataGridView_FolderProps.Columns.Add("Value", "Value"); dataGridView_FolderProps.Columns.Add("Type", "Type"); // Add rows. DataGridViewRow propDisplayName = new DataGridViewRow(); propDisplayName.CreateCells(dataGridView_FolderProps, new object[] { "DisplayName", contactFolderResult.DisplayName, contactFolderResult.DisplayName.GetType().ToString() }); dataGridView_FolderProps.Rows.Add(propDisplayName); DataGridViewRow propId = new DataGridViewRow(); propId.CreateCells(dataGridView_FolderProps, new object[] { "Id", contactFolderResult.Id, contactFolderResult.Id.GetType().ToString() }); dataGridView_FolderProps.Rows.Add(propId); DataGridViewRow propParentFolderId = new DataGridViewRow(); propParentFolderId.CreateCells(dataGridView_FolderProps, new object[] { "ParentFolderId", contactFolderResult.ParentFolderId, contactFolderResult.ParentFolderId.GetType().ToString() }); dataGridView_FolderProps.Rows.Add(propParentFolderId); }