public void GetMailsTest() { var postMailModel = new PostMailModel() { To = new string[] { this.userId.ToString() }, CC = Array.Empty <string>(), BCC = Array.Empty <string>(), Subject = "Test subject", Text = "Test text", Attachments = Array.Empty <string>(), }; this.mailService.SendMail(postMailModel, this.userId); var mail = this.dbContext.Mails .Include(m => m.Recipients) .First( m => m.Recipients.Any(r => r.RecipientId == this.userId) && m.Subject == "Test subject" && m.Text == "Test text"); var mails = this.userService.GetMails(this.userId); Assert.True(mails.Any()); int realCount = this.dbContext.Mails .Include(m => m.Recipients) .Where(m => m.Recipients.Any(r => r.RecipientId == this.userId)) .Count(); Assert.True(mails.Count() == realCount); }
public void SendMailTest() { var mails = this.dbContext.Mails .Include(m => m.Recipients) .Where( m => m.Recipients.Any(r => r.RecipientId == this.userId) && m.Subject == "Test subject" && m.Text == "Test text"); this.dbContext.Mails.RemoveRange(mails); var postMailModel = new PostMailModel() { To = new string[] { this.userId.ToString() }, CC = Array.Empty <string>(), BCC = Array.Empty <string>(), Subject = "Test subject", Text = "Test text", Attachments = Array.Empty <string>(), }; this.mailService.SendMail(postMailModel, this.userId); var mail = this.dbContext.Mails .Include(m => m.Recipients) .First( m => m.Recipients.Any(r => r.RecipientId == this.userId) && m.Subject == "Test subject" && m.Text == "Test text"); Assert.NotNull(mail); }
public void SendMail(PostMailModel mail, Guid ownerId) { Guid id = Guid.NewGuid(); ICollection <MailTo> recipients = new HashSet <MailTo>(); foreach (string item in mail.To) { recipients.Add(new MailTo() { RecipientId = Guid.Parse(item), MailId = id, CC = null, StatusRead = false, }); } foreach (string item in mail.CC) { recipients.Add(new MailTo() { RecipientId = Guid.Parse(item), MailId = id, CC = true, StatusRead = false, }); } foreach (string item in mail.BCC) { recipients.Add(new MailTo() { RecipientId = Guid.Parse(item), MailId = id, CC = false, StatusRead = false, }); } Mail mailEnt = new Mail() { Id = id, SenderId = ownerId, Subject = mail.Subject, Text = mail.Text, Recipients = recipients, }; var attachmentsIds = mail.Attachments.Select(a => Guid.Parse(a)); var attachments = this.context.Attachments.Where(a => attachmentsIds.Contains(a.Id)); foreach (var attachment in attachments) { mailEnt.Attachments.Add(attachment); } this.Create(mailEnt); }
public IActionResult PostMail([FromBody] PostMailModel mail) { NotificationController notificationController = new NotificationController(new NotificationService()); var userId = this.GetUserId(); PostNotificationModel postNotificationModel = new PostNotificationModel { Content = mail.Text, ContentType = "string", RecipientsList = mail.To, WithAttachments = mail.Attachments.Length > 0 ? true : false, }; var result = notificationController.PostNotification(postNotificationModel); this._mailService.SendMail(mail, userId); return(this.NoContent()); }