Ejemplo n.º 1
0
 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));
 }
Ejemplo n.º 2
0
 private PropValueData[] GetAdditionalProps(DeleteCommand delete)
 {
     return(SyncEmailUtils.GetMessageProps(new SyncEmailContext
     {
         SyncMessageId = delete.ServerId
     }, this.UserSmtpAddressString, base.EntryId, new PropValueData[]
     {
         new PropValueData(PropTag.ObjectType, 1)
     }));
 }
Ejemplo n.º 3
0
 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)
     }));
 }
Ejemplo n.º 4
0
        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()));
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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()));
        }