Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
            }
        }