in Office365APIEditor/UI/FolderViewerForm.cs [34:163]
private async void FolderViewerForm_Load(object sender, System.EventArgs e)
{
Icon = Properties.Resources.DefaultIcon;
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 = "To Do tasks";
break;
default:
typeForWindowTitle = "items";
break;
}
Text = typeForWindowTitle + " in " + targetFolderDisplayName;
viewerRequestHelper = new ViewerRequestHelper();
switch (targetFolder.Type)
{
case FolderContentType.Message:
// Add columns.
PrepareMessageItemListColumns();
bool hasMessageItem = await viewerRequestHelper.HasActualMessageItemAsync(targetFolder.ID);
if (hasMessageItem)
{
// Get items.
await LoadAllMessagesAsync();
}
else
{
// This folder seems to be a message folder but it does not contain message items.
var mailFolder = await viewerRequestHelper.GetMailFolderAsync(targetFolder.ID);
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.
await LoadAllContactsAsync();
}
}
break;
case FolderContentType.Contact:
// Add columns.
PrepareContactItemListColumns();
// Get items.
await LoadAllContactsAsync();
break;
case FolderContentType.Calendar:
// Add columns.
PrepareCalendarItemListColumns();
// Get items.
await LoadAllEventsAsync();
break;
case FolderContentType.MsgFolderRoot:
case FolderContentType.Drafts:
// Add columns.
PrepareMessageItemListColumns();
// Get items.
await LoadAllMessagesAsync();
break;
case FolderContentType.Task:
// Add Columns.
PrepareToDoTaskListColumns();
// Get items.
await LoadAllToDoTasksAsync();
break;
case FolderContentType.DummyCalendarGroupRoot:
case FolderContentType.DummyTaskGroupRoot:
case FolderContentType.TaskGroup:
default:
break;
}
toolStripStatusLabel_Status.Text = "Loaded all items.";
}