protected MessageRec CreateMessageRec(string uniqueId, long messageSize) { PropValueData[] messageProps = SyncEmailUtils.GetMessageProps(default(SyncEmailContext), this.Mailbox.PopConnection.ConnectionContext.UserName, this.FolderId, new PropValueData[0]); PropValueData[] array = new PropValueData[messageProps.Length + 1]; messageProps.CopyTo(array, 0); array[array.Length - 1] = new PropValueData(PropTag.LastModificationTime, CommonUtils.DefaultLastModificationTime); return(new MessageRec(PopEntryId.CreateMessageEntryId(uniqueId), this.FolderId, CommonUtils.DefaultLastModificationTime, (int)messageSize, MsgRecFlags.None, array)); }
private PropValueData[] GetAdditionalProps(DeleteCommand delete) { return(SyncEmailUtils.GetMessageProps(new SyncEmailContext { SyncMessageId = delete.ServerId }, this.UserSmtpAddressString, base.EntryId, new PropValueData[] { new PropValueData(PropTag.ObjectType, 1) })); }
private PropValueData[] GetAdditionalProps(Fetch fetch) { return(SyncEmailUtils.GetMessageProps(new SyncEmailContext { IsRead = new bool?(fetch.IsRead()), IsDraft = new bool?(base.EasFolderType == EasFolderType.Drafts), SyncMessageId = fetch.ServerId }, this.UserSmtpAddressString, base.EntryId, new PropValueData[] { new PropValueData(PropTag.LastModificationTime, DateTime.UtcNow) })); }
private PropValueData[] GetAdditionalProps(AddCommand add) { List <PropValueData> list = new List <PropValueData>(); list.Add(new PropValueData(PropTag.LastModificationTime, CommonUtils.DefaultLastModificationTime)); list.Add(new PropValueData(PropTag.ObjectType, 0)); if (EasFolder.IsContactFolder(base.EasFolderType)) { List <PropValueData> contactProperties = EasFxContactMessage.GetContactProperties(add.ApplicationData); if (contactProperties.Count > 0) { list.AddRange(contactProperties); } } return(SyncEmailUtils.GetMessageProps(new SyncEmailContext { IsRead = new bool?(add.IsRead()), IsDraft = new bool?(base.EasFolderType == EasFolderType.Drafts), SyncMessageId = add.ServerId }, this.UserSmtpAddressString, base.EntryId, list.ToArray())); }
private List <MessageRec> GetMessageRecs(List <ImapMessageRec> imapMessageRecs) { if (imapMessageRecs.Count == 0) { return(new List <MessageRec>(0)); } List <MessageRec> list = new List <MessageRec>(imapMessageRecs.Count); foreach (ImapMessageRec imapMessageRec in imapMessageRecs) { SyncEmailContext syncEmailContext = ImapFolder.GetSyncEmailContext(this.Folder, imapMessageRec); int messageSize = 0; ImapExtendedMessageRec imapExtendedMessageRec = imapMessageRec as ImapExtendedMessageRec; if (imapExtendedMessageRec != null) { messageSize = (int)imapExtendedMessageRec.MessageSize; } PropValueData[] messageProps = SyncEmailUtils.GetMessageProps(syncEmailContext, this.Mailbox.ImapConnection.ConnectionContext.UserName, this.FolderId, new PropValueData[0]); MessageRec item = new MessageRec(ImapEntryId.CreateMessageEntryId(imapMessageRec.Uid, this.Folder.UidValidity, this.Folder.Name, this.Mailbox.ImapConnection.ConnectionContext.UserName), this.FolderId, CommonUtils.DefaultLastModificationTime, messageSize, MsgRecFlags.None, messageProps); list.Add(item); } return(list); }
private PropValueData[] GetAdditionalProps(ChangeCommand change) { bool?isRead = change.IsRead(); EasMessageCategory easMessageCategory = (isRead == null) ? EasMessageCategory.AddOrUpdate : (isRead.Value ? EasMessageCategory.ChangeToRead : EasMessageCategory.ChangeToUnread); List <PropValueData> list = new List <PropValueData>(); list.Add(new PropValueData(PropTag.LastModificationTime, DateTime.UtcNow)); list.Add(new PropValueData(PropTag.ObjectType, (int)easMessageCategory)); if (EasFolder.IsContactFolder(base.EasFolderType)) { List <PropValueData> contactProperties = EasFxContactMessage.GetContactProperties(change.ApplicationData); if (contactProperties.Count > 0) { list.AddRange(contactProperties); } } return(SyncEmailUtils.GetMessageProps(new SyncEmailContext { IsRead = isRead, IsDraft = new bool?(base.EasFolderType == EasFolderType.Drafts), SyncMessageId = change.ServerId }, this.UserSmtpAddressString, base.EntryId, list.ToArray())); }