private async Task SendMessageSender(string messageType, MessageReply message, string siteName, string siteUrl, bool isReply, ApplicationUser senderUserDb, SendMessageInput data, string chatId, ChatDbModel chatDbModel) { if (messageType == SiteNotAuthenticated) { var msg = (MessageSiteNotAuthenticated)message; var messageReceiverMailModel = new MessageReceiverMailModel(); messageReceiverMailModel.SiteName = siteName; messageReceiverMailModel.SiteUrl = siteUrl; messageReceiverMailModel.UserName = msg.FullName; messageReceiverMailModel.Title = msg.Title; messageReceiverMailModel.Message = FormatMessageForEmail(message.Message); messageReceiverMailModel.IsReply = isReply; messageReceiverMailModel.Sender = new SenderModel() { IsNotAuthenticated = true, FullName = msg.FullName, Email = msg.Email, Phone = msg.Phone }; await SendEmailSenderAsync(messageReceiverMailModel, msg.Email); } else if (senderUserDb != null) { var messageReceiverMailModel = new MessageReceiverMailModel(); messageReceiverMailModel.SiteName = siteName; messageReceiverMailModel.SiteUrl = siteUrl; var messageSource = "/administration"; if (data.Source == "User") { messageSource = "/utilisateur"; } var messageUrl = UrlHelper.Concat(siteUrl, messageSource + "/messages/message/" + chatId); messageReceiverMailModel.MessageUrl = messageUrl; messageReceiverMailModel.UserName = senderUserDb.FullName; messageReceiverMailModel.Message = FormatMessageForEmail(message.Message); messageReceiverMailModel.Title = chatDbModel.Title; messageReceiverMailModel.Sender = new SenderModel() { IsNotAuthenticated = false, FullName = senderUserDb.FullName }; messageReceiverMailModel.IsReply = isReply; await SendEmailSenderAsync(messageReceiverMailModel, senderUserDb.Email); } }
public async Task SendEmailAsync(MessageReceiverMailModel messageReceiverMailModel, string emailTo) { var identityMessage = new MailMessage(); var subject = $"[{messageReceiverMailModel.SiteName}] Message reçu de {messageReceiverMailModel.Sender.FullName} {messageReceiverMailModel.Title}"; if (messageReceiverMailModel.IsReply) { subject = $"[{messageReceiverMailModel.SiteName}] Réponse reçu de {messageReceiverMailModel.Sender.FullName} {messageReceiverMailModel.Title}"; } identityMessage.Subject = subject; identityMessage.Body = new StringTemplateRenderer().Render( ResourcesLoader.Load(Path.Combine("Renderers", "MessageReceiver.st")), messageReceiverMailModel); identityMessage.Destination = emailTo; await _emailService.SendAsync(identityMessage); }
private async Task SendEmailSenderAsync(MessageReceiverMailModel messageSenderMailModel, string emailTo) { var identityMessage = new MailMessage(); var subject = string.Format("[{0}] Message envoyé par {1} {2}", messageSenderMailModel.SiteName, messageSenderMailModel.Sender.FullName, messageSenderMailModel.Title); if (messageSenderMailModel.IsReply) { subject = string.Format("[{0}] Réponse envoyé par {1} {2}", messageSenderMailModel.SiteName, messageSenderMailModel.Sender.FullName, messageSenderMailModel.Title); } identityMessage.Subject = subject; identityMessage.Body = new StringTemplateRenderer().Render( ResourcesLoader.Load(Path.Combine("Message", "Renderers", "MessageSender.st")), messageSenderMailModel); identityMessage.Destination = emailTo; await _emailService.SendAsync(identityMessage); }
private async Task SendMessageReceiver(string siteName, string siteUrl, ApplicationUser userDb, MessageReply messageReply, ApplicationUser senderUserDb, string messageType, ChatDbModel chatDbModel, bool isAdmin) { if (senderUserDb == null || senderUserDb.Id != userDb.Id) { var messageReceiverMailModel = new MessageReceiverMailModel(); messageReceiverMailModel.SiteName = siteName; messageReceiverMailModel.SiteUrl = siteUrl; messageReceiverMailModel.UserName = userDb.FullName; messageReceiverMailModel.Message = FormatMessageForEmail(messageReply.Message); messageReceiverMailModel.Title = chatDbModel.Title; var messageSource = "/administration"; if (!isAdmin) { messageSource = "/utilisateur"; } var messageUrl = UrlHelper.Concat(siteUrl, messageSource + "/messages/message/" + chatDbModel.Id); messageReceiverMailModel.MessageUrl = messageUrl; if (messageType == SiteNotAuthenticated) { var msg = (MessageSiteNotAuthenticated)messageReply; messageReceiverMailModel.Sender = new SenderModel() { Email = msg.Email, FullName = msg.FullName, Phone = msg.Phone, IsNotAuthenticated = true }; } else if (senderUserDb != null) { messageReceiverMailModel.Sender = new SenderModel() { FullName = senderUserDb.FullName, IsNotAuthenticated = false }; } await SendEmailAsync(messageReceiverMailModel, userDb.Email); } }