public IActionResult AddEmailEventNotification([FromBody]SendEmailEventNotificationInputModel inputModel)
        {
            var charityEvent = _charityEventService.Get(inputModel.CharityEventId);
            string charityName = _charityService.GetCharityName(charityEvent.CharityId);

            foreach (var p in charityEvent.Participants)
            {
                if (p.IsAccepted != true)
                {
                    continue;
                }

                var user = _userService.GetUser(p.UserId);

                var sendEmailEventWasAddedModel = new SendEmailEventNotificationModel()
                {
                    EmailAddress = user.EmailAddress,
                    Content = inputModel.Content,
                    CharityEventName = charityEvent.Name,
                    CharityName = charityName,
                    Subject = inputModel.Subject
                };

                _emailNotificationService.SendEmailEventNotification(sendEmailEventWasAddedModel);
            }

            _charityEventService.AddEventNotification(inputModel);

            return Ok();
        }
Пример #2
0
        public void SendEmailEventNotification(SendEmailEventNotificationModel inputModel)
        {
            using (MailMessage msg = new MailMessage())
            {
                msg.From = new MailAddress("*****@*****.**");
                msg.To.Add(inputModel.EmailAddress);
                msg.IsBodyHtml = true;
                msg.Subject    = inputModel.CharityName + " dodała wiadomość w wydarzeniu " + inputModel.CharityEventName;

                using (StreamReader reader = File.OpenText(AppDomain.CurrentDomain.BaseDirectory
                                                           + @"Assets/EventNotification.html"))
                {
                    string mailText = reader.ReadToEnd()
                                      .Replace("_Content_", inputModel.Content)
                                      .Replace("_Subject_", inputModel.Subject);
                    msg.Body = mailText;
                }

                SmtpClient client = GetSmtpClient();

                client.Send(msg);
            }
        }