public bool AddEmail(string mail, int groupID) { string userID = ""; if (_httpContextAccessor != null && _httpContextAccessor.HttpContext != null && _httpContextAccessor.HttpContext.User != null && _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier) != null && !String.IsNullOrEmpty(_httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value)) { userID = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value; } else { return(false); } var emails = _mailRepository.GetAll(groupID, userID); if (emails.Any(x => x.Email == mail)) { return(false); } else { _mailRepository.Create(mail, groupID, userID); } return(true); }
private bool SaveMessage(ILogger <MailDamMessageStore> logger, IMailRepository mailRepository, MemoryStream messageStream, Guid mailId, MimeMessage message, Guid mailboxId, Guid sessionId) { try { var mail = new Mail { MailId = mailId, HtmlBody = message.HtmlBody, TextBody = message.TextBody, From = string.Join(",", message.From.Mailboxes.Select(m => !string.IsNullOrWhiteSpace(m.Name) ? $"{m.Name} <{m.Address}>" : m.Address).ToList()), To = string.Join(",", message.To.Mailboxes.Select(m => !string.IsNullOrWhiteSpace(m.Name) ? $"{m.Name} <{m.Address}>" : m.Address).ToList()), ReceiveDate = DateTime.Now, MailboxId = mailboxId, Status = (int)MailStatus.Unread, Subject = message.Subject, RawEmail = messageStream.ToArray() }; mailRepository.Create(mail); logger.LogInformation($"Storing mail {mailId} in session {sessionId} for mailbox {mailboxId}"); return(true); } catch (Exception e) { logger.LogError(e, $"Storing of mail failed with in session {sessionId} for mailbox {mailboxId} because: {e.Message}"); return(false); } }
public OperationResult Create(CreateMail entity) { try { const string source = "*****@*****.**"; var mail = new Mail(entity.Destination, entity.Subject, entity.Message, source); _mailRepository.Create(mail); _mailRepository.SaveChanges(); return(_operation.But(Tables.MailTableName).Succeeded(MailMessages.Success)); } catch (Exception exception) { Console.WriteLine(exception); return(_operation.Failed(MailMessages.Failed)); } }
public void Compose(ComposeMail command) { var mail = new Mail { Id = 1, Subject = command.Subject, Message = command.Message, Sender = command.Sender, Receiver = command.Receiver, HasAttachments = false, IsDeleted = false, IsRead = false, SendDate = DateTime.Now }; //mail.CheckSomething(command.Sender, command.Receiver); _mailRepository.Create(mail); }