private bool IsMessageAlreadyDownloaded(string email, MimeMessage message) { var info = NewTimestampText.GetValueOrDefault(email); if (info == null || info.Timestamp.UnixTimeStampToDateTime() < message.Date) { return(false); } if (info.Timestamp.UnixTimeStampToDateTime() == message.Date) { if (info.MessageIds.Contains(message.MessageId)) { return(true); } return(false); } return(false); }
private async Task SaveTimeStamp(string email, MimeMessage message = null) { var info = NewTimestampText.GetValueOrDefault(email); if (message != null && (info == null || info.Timestamp != message.Date.ToUnixTimeMilliseconds())) { NewTimestampText[email] = new LastMessageDownload { DownloadTimestamp = DownloadTimestamp, MessageIds = new List <string> { message.MessageId }, Timestamp = message.Date.ToUnixTimeMilliseconds() }; } else { if (message != null) { info.MessageIds.Add(message.MessageId); } NewTimestampText[email] = new LastMessageDownload { DownloadTimestamp = DownloadTimestamp, MessageIds = info.MessageIds, Timestamp = info.Timestamp }; } await _alfrescoHttp.UpdateNode(EmailFolder.Entry.Id, new NodeBodyUpdate() .AddProperty(TimeStampProperty, JsonConvert.SerializeObject(NewTimestampText, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }))); }