private async void GetMessageFolderProps(string FolderId, string FolderDisplayName) { // Get the folder. IMailFolder mailFolderResult = new MailFolder(); try { mailFolderResult = await viewerHelper.GetMailFolderAsync(FolderId, FolderDisplayName); } 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 propChildFolderCount = new DataGridViewRow(); propChildFolderCount.CreateCells(dataGridView_FolderProps, new object[] { "ChildFolderCount", mailFolderResult.ChildFolderCount.Value, mailFolderResult.ChildFolderCount.GetType().ToString() }); dataGridView_FolderProps.Rows.Add(propChildFolderCount); DataGridViewRow propDisplayName = new DataGridViewRow(); propDisplayName.CreateCells(dataGridView_FolderProps, new object[] { "DisplayName", mailFolderResult.DisplayName, mailFolderResult.DisplayName.GetType().ToString() }); dataGridView_FolderProps.Rows.Add(propDisplayName); DataGridViewRow propId = new DataGridViewRow(); propId.CreateCells(dataGridView_FolderProps, new object[] { "Id", mailFolderResult.Id, mailFolderResult.Id.GetType().ToString() }); dataGridView_FolderProps.Rows.Add(propId); DataGridViewRow propParentFolderId = new DataGridViewRow(); propParentFolderId.CreateCells(dataGridView_FolderProps, new object[] { "ParentFolderId", mailFolderResult.ParentFolderId, mailFolderResult.ParentFolderId.GetType().ToString() }); dataGridView_FolderProps.Rows.Add(propParentFolderId); DataGridViewRow propTotalItemCount = new DataGridViewRow(); propTotalItemCount.CreateCells(dataGridView_FolderProps, new object[] { "TotalItemCount", mailFolderResult.TotalItemCount, mailFolderResult.TotalItemCount.GetType().ToString() }); dataGridView_FolderProps.Rows.Add(propTotalItemCount); DataGridViewRow propUnreadItemCount = new DataGridViewRow(); propUnreadItemCount.CreateCells(dataGridView_FolderProps, new object[] { "UnreadItemCount", mailFolderResult.UnreadItemCount, mailFolderResult.UnreadItemCount.GetType().ToString() }); dataGridView_FolderProps.Rows.Add(propUnreadItemCount); }
private async void FolderViewerForm_Load(object sender, System.EventArgs e) { toolStripStatusLabel_Status.Text = "Loading all items..."; string typeForWindowTitle = ""; switch (targetFolder.Type) { case FolderContentType.Message: case FolderContentType.MsgFolderRoot: case FolderContentType.Drafts: typeForWindowTitle = "Message items"; break; case FolderContentType.Contact: typeForWindowTitle = "Contact items"; break; case FolderContentType.Calendar: typeForWindowTitle = "Calendar items"; break; case FolderContentType.Task: typeForWindowTitle = "Task items"; break; default: typeForWindowTitle = "items"; break; } Text = typeForWindowTitle + " in " + targetFolderDisplayName; viewerHelper = new ViewerHelper.ViewerHelper(pca, currentUser); switch (targetFolder.Type) { case FolderContentType.Message: // Add columns. PrepareMessageItemListColumns(); // Get items. List <MessageSummary> messages = await viewerHelper.GetMessageSummaryAsync(targetFolder.ID); if (messages.Count != 0) { ShowMessages(messages); } else { var mailFolder = await viewerHelper.GetMailFolderAsync(targetFolder.ID, targetFolderDisplayName); if (mailFolder.TotalItemCount != 0 && MessageBox.Show("TotalItemCount of this folder is not 0 but getting items of this folder was failed.\r\nDo you want to retry getting items as Contact item?", "Office365APIEditor", MessageBoxButtons.YesNo) == DialogResult.Yes) { // Retry as Contact item. targetFolder.Type = FolderContentType.Contact; Text = FolderContentType.Contact.ToString() + " items in " + targetFolderDisplayName; // Reset DataGrid. if (dataGridView_ItemList.InvokeRequired) { dataGridView_ItemList.Invoke(new MethodInvoker(delegate { for (int i = dataGridView_ItemList.Columns.Count - 1; i >= 0; i--) { dataGridView_ItemList.Columns.RemoveAt(i); } })); } else { for (int i = dataGridView_ItemList.Columns.Count - 1; i >= 0; i--) { dataGridView_ItemList.Columns.RemoveAt(i); } } // Add columns. PrepareContactItemListColumns(); // Get items. List <ContactSummary> contactsInMailFolder = await viewerHelper.GetContactSummaryAsync(targetFolder.ID); ShowContacts(contactsInMailFolder); } } break; case FolderContentType.Contact: // Add columns. PrepareContactItemListColumns(); // Get items. List <ContactSummary> contacts = await viewerHelper.GetContactSummaryAsync(targetFolder.ID); ShowContacts(contacts); break; case FolderContentType.Calendar: // Add columns. PrepareCalendarItemListColumns(); // Get items. List <EventSummary> events = await viewerHelper.GetEventSummaryAsync(targetFolder.ID); ShowEvents(events); break; case FolderContentType.MsgFolderRoot: case FolderContentType.Drafts: // Add columns. PrepareMessageItemListColumns(); // Get items. List <MessageSummary> messagesInMsgFolderRoot = await viewerHelper.GetMessageSummaryAsync(targetFolder.ID); if (messagesInMsgFolderRoot.Count != 0) { ShowMessages(messagesInMsgFolderRoot); } break; case FolderContentType.Task: // Add Columns. PrepareTaskItemListColumns(); // Get items. List <TaskSummary> tasks = await viewerHelper.GetTaskSummaryAsync(targetFolder.ID); if (tasks.Count != 0) { ShowTasks(tasks); } break; case FolderContentType.DummyCalendarRoot: case FolderContentType.DummyTaskGroupRoot: case FolderContentType.TaskGroup: default: break; } toolStripStatusLabel_Status.Text = "Loaded all items."; }