private async Task <Dictionary <Message, List <FileAttachment> > > GetFileAttachments(GraphServiceClient graphClient, IMailFolderMessagesCollectionPage messages) { var msgToAttachmentsDict = new Dictionary <Message, List <FileAttachment> >(); for (int i = 0; i < messages.Count; i++) { if (messages[i].HasAttachments == true) { var attachmentsList = new List <FileAttachment>(); IMessageAttachmentsCollectionPage attachmentsPage = await graphClient.Users["*****@*****.**"] .MailFolders [config.ArchiverId] .Messages[messages[i].Id] .Attachments .Request() .GetAsync(); for (int j = 0; j < attachmentsPage.Count; j++) { if (attachmentsPage[j].ODataType == "#microsoft.graph.fileAttachment") { var fileAttachment = attachmentsPage[j] as FileAttachment; attachmentsList.Add(fileAttachment); } } msgToAttachmentsDict[messages[i]] = attachmentsList; } } return(msgToAttachmentsDict); }
public MailViewModel(Message message) { Subject = Cleanup(message.Subject); FromEmailAddress = message?.From?.EmailAddress?.Address; Body = Cleanup(message.BodyPreview); HasAttachments = message.HasAttachments ?? message.HasAttachments.Value; Attachments = message.Attachments; }
public async Task <List <Attachment> > GetInboxMessageAttachments(string userid, string messageid) { IMessageAttachmentsCollectionPage attachments = await _graphClient.Users[userid].MailFolders.Inbox.Messages[messageid].Attachments.Request().GetAsync(); return(attachments.ToList()); }