private void Session_Store(object sender, IMAP_e_Store e) { if (e.FlagsSetType == IMAP_Flags_SetType.Add || e.FlagsSetType == IMAP_Flags_SetType.Replace) { if (e.Flags.Contains("Seen", StringComparer.OrdinalIgnoreCase)) { messagesRepository.MarkMessageRead(new Guid(e.MessageInfo.ID)); } if (e.Flags.Contains("Deleted", StringComparer.OrdinalIgnoreCase)) { messagesRepository.DeleteMessage(new Guid(e.MessageInfo.ID)); } } }
private void Session_Store(object sender, IMAP_e_Store e) { using (var scope = this.serviceScopeFactory.CreateScope()) { var messagesRepository = scope.ServiceProvider.GetService <IMessagesRepository>(); if (e.FlagsSetType == IMAP_Flags_SetType.Add || e.FlagsSetType == IMAP_Flags_SetType.Replace) { if (e.Flags.Contains("Seen", StringComparer.OrdinalIgnoreCase)) { messagesRepository.MarkMessageRead(new Guid(e.MessageInfo.ID)); } if (e.Flags.Contains("Deleted", StringComparer.OrdinalIgnoreCase)) { messagesRepository.DeleteMessage(new Guid(e.MessageInfo.ID)); } } } }