/// <summary> /// Fetches email from user's Inbox. internal async Task <List <model.MailItem> > GetEmailMessages(int pageNo, int pageSize) { // Make sure we have a reference to the Outlook Services client var outlookServicesClient = await AuthenticationHelper.EnsureOutlookServicesClientCreatedAsync("Mail"); List <model.MailItem> returnResults = new List <model.MailItem>(); var mailResults = await(from i in outlookServicesClient.Me.Folders.GetById("Inbox").Messages orderby i.DateTimeReceived descending select i).Skip((pageNo - 1) * pageSize).Take(pageSize).ExecuteAsync(); var mailMessages = mailResults.CurrentPage; foreach (IMessage serverMailItem in mailMessages) { model.MailItem modelMailItem = new model.MailItem(serverMailItem); if ((!mailResults.MorePagesAvailable)) { if (modelMailItem.ID == mailMessages.Last <IMessage>().Id) { modelMailItem.IsLastItem = true; } } if ((modelMailItem.ID == mailMessages.First <IMessage>().Id) && pageNo == 1) { modelMailItem.IsFirstItem = true; } returnResults.Add(modelMailItem); } return(returnResults); }
/// <summary> /// Fetches email from user's Inbox. internal async Task<List<model.MailItem>> GetEmailMessages(int pageNo, int pageSize) { // Make sure we have a reference to the Outlook Services client var outlookServicesClient = await AuthenticationHelper.EnsureOutlookServicesClientCreatedAsync("Mail"); List<model.MailItem> returnResults = new List<model.MailItem>(); var mailResults = await (from i in outlookServicesClient.Me.Folders.GetById("Inbox").Messages orderby i.DateTimeReceived descending select i).Skip((pageNo - 1) * pageSize).Take(pageSize).ExecuteAsync(); var mailMessages = mailResults.CurrentPage; foreach (IMessage serverMailItem in mailMessages) { model.MailItem modelMailItem = new model.MailItem(serverMailItem); if ((!mailResults.MorePagesAvailable)) { if (modelMailItem.ID == mailMessages.Last<IMessage>().Id) { modelMailItem.IsLastItem = true; } } if ((modelMailItem.ID == mailMessages.First<IMessage>().Id) && pageNo == 1) { modelMailItem.IsFirstItem = true; } returnResults.Add(modelMailItem); } return returnResults; }
internal async Task <model.MailItem> GetMailItemByIDsAsync(string id) { // Make sure we have a reference to the Outlook Services client var outlookServicesClient = await AuthenticationHelper.EnsureOutlookServicesClientCreatedAsync("Mail"); IMessage thisMailItem = null; // This results in a call to the service. var thisMailFetcher = outlookServicesClient.Me.Folders.GetById("Inbox").Messages.GetById(id); thisMailItem = await thisMailFetcher.ExecuteAsync(); model.MailItem modelMailMessage = new model.MailItem(thisMailItem); return(modelMailMessage); }
// GET: /Mail/Delete/5 public async Task <ActionResult> Delete(string id) { model.MailItem mailItemToDelete = await _mailOperations.GetMailItemByIDsAsync(id); return(View(mailItemToDelete)); }
internal async Task<model.MailItem> GetMailItemByIDsAsync(string id) { // Make sure we have a reference to the Outlook Services client var outlookServicesClient = await AuthenticationHelper.EnsureOutlookServicesClientCreatedAsync("Mail"); IMessage thisMailItem = null; // This results in a call to the service. var thisMailFetcher = outlookServicesClient.Me.Folders.GetById("Inbox").Messages.GetById(id); thisMailItem = await thisMailFetcher.ExecuteAsync(); model.MailItem modelMailMessage = new model.MailItem(thisMailItem); return modelMailMessage; }