private async Task DeleteMailAsync(IEnumerable <ViewMailItem> items) { foreach (var i in items) { if (i.Draft != null) { DraftMessageSource draft = i.Draft as DraftMessageSource; await DeleteDraft(draft); continue; } var account = i.Source.AccountSource as Account; await account.DeleteMail(i); } MailView.UpdateWorkingItems(items); }
async Task SaveMailMetaDataAsync(IEnumerable <ViewMailItem> items) { foreach (var item in items) { Account account = item.Source.AccountSource as Account; if (!await account.SaveMailMetaData(item)) { item.RollbackChanges(); } else { account.UpdateAccountCounts(item); item.ClearChanges(); } } MailView.UpdateWorkingItems(items); //await UpdateAccountAsync(account, true); }