示例#1
0
        public virtual Task <HttpStatusCode> SendEmailAddNew(EventSubmission eventSubmission)
        {
            var messageSubject = $"[Event date] - {eventSubmission.EventDate.Value.ToString("d MMMM yyyy")}, [Event] - {eventSubmission.Title}";

            _logger.LogInformation("Sending event submission form email");

            var attachments = new List <IFormFile>();

            if (eventSubmission.Image != null)
            {
                attachments.Add(eventSubmission.Image);
            }
            if (eventSubmission.Attachment != null)
            {
                attachments.Add(eventSubmission.Attachment);
            }

            var imagePath      = FileHelper.GetFileNameFromPath(eventSubmission.Image);
            var attachmentPath = FileHelper.GetFileNameFromPath(eventSubmission.Attachment);

            var emailBody = new EventAdd
            {
                Title          = eventSubmission.Title,
                EventDate      = eventSubmission.EventDate.HasValue ? ((DateTime)eventSubmission.EventDate).ToString("dddd dd MMMM yyyy") : "-",
                EndDate        = eventSubmission.EndDate.HasValue ? ((DateTime)eventSubmission.EndDate).ToString("dddd dd MMMM yyyy") : "-",
                StartTime      = eventSubmission.StartTime.HasValue ? ((DateTime)eventSubmission.StartTime).ToString("HH:mm") : "-",
                EndTime        = eventSubmission.EndTime.HasValue ? ((DateTime)eventSubmission.EndTime).ToString("HH:mm") : "-",
                Frequency      = !string.IsNullOrEmpty(eventSubmission.Frequency) ? eventSubmission.Frequency : "-",
                Fee            = !string.IsNullOrEmpty(eventSubmission.Fee) ? eventSubmission.Fee : "-",
                Location       = !string.IsNullOrEmpty(eventSubmission.Location) ? eventSubmission.Location : "-",
                SubmittedBy    = !string.IsNullOrEmpty(eventSubmission.SubmittedBy) ? eventSubmission.SubmittedBy : "-",
                Description    = !string.IsNullOrEmpty(eventSubmission.Description) ? eventSubmission.Description : "-",
                ImagePath      = !string.IsNullOrEmpty(imagePath) ? imagePath : "-",
                AttachmentPath = !string.IsNullOrEmpty(attachmentPath) ? attachmentPath : "-",
                SubmitterEmail = !string.IsNullOrEmpty(eventSubmission.SubmitterEmail) ? eventSubmission.SubmitterEmail : "-",
                Categories     = eventSubmission.CategoriesList,
                GroupName      = string.IsNullOrEmpty(eventSubmission.GroupName) ? string.Empty : $"Group name: {eventSubmission.GroupName}",
                Occurrences    = eventSubmission.Occurrences == 0 ? string.Empty : $"(occurs {eventSubmission.Occurrences} times)",
            };

            return(_emailClient.SendEmailToService(new EmailMessage(messageSubject, _emailClient.GenerateEmailBodyFromHtml(emailBody),
                                                                    _fromEmail,
                                                                    _configuration.GetEventSubmissionEmail(_businessId.ToString()).ToString(),
                                                                    eventSubmission.SubmitterEmail,
                                                                    attachments)));
        }
示例#2
0
        public void SendEmailToGroups(IEnumerable <Group> stageOneGroups, string template, string subject, string fromAddress)
        {
            var handleArchivedGroups = stageOneGroups as IList <Group> ?? stageOneGroups.ToList();

            foreach (var stageOneGroup in handleArchivedGroups.ToList())
            {
                if (stageOneGroup.GroupAdministrators.Items.Any(admin => admin.Permission == "A"))
                {
                    _logger.LogInformation($"Sending stale group email for group: {stageOneGroup.Name}");
                }

                stageOneGroup.GroupAdministrators.Items
                .Where(admin => admin.Permission == "A")
                .Select(admin => new GroupArchiveWarningEmailViewModel(admin.Name, stageOneGroup.Name, admin.Email))
                .Select(viewModel => new EmailMessage(subject, _emailClient.GenerateEmailBodyFromHtml(viewModel, template), fromAddress, viewModel.EmailAddress, string.Empty, null))
                .ToList()
                .ForEach(entity => _emailClient.SendEmailToService(entity));
            }
        }
        public virtual Task <HttpStatusCode> SendEmailAddNew(GroupSubmission groupSubmission)
        {
            var messageSubject = $"[Group] - {groupSubmission.Name}";

            _logger.LogInformation("Sending group submission form email");

            var attachments = new List <IFormFile>();

            if (groupSubmission.Image != null)
            {
                attachments.Add(groupSubmission.Image);
            }

            var emailBody = new GroupAdd
            {
                Name     = groupSubmission.Name,
                Location = groupSubmission.Address,
                Image    = groupSubmission.Image != null?FileHelper.GetFileNameFromPath(groupSubmission.Image) : "-",
                               Description        = groupSubmission.Description,
                               Email              = groupSubmission.Email,
                               Phone              = groupSubmission.PhoneNumber,
                               Website            = groupSubmission.Website,
                               DonationsNeeded    = groupSubmission.Donations,
                               Categories         = groupSubmission.CategoriesList,
                               VolunteeringText   = groupSubmission.Volunteering ? groupSubmission.VolunteeringText : "-",
                               VolunteeringNeeded = groupSubmission.Volunteering,
                               DonationsText      = groupSubmission.Donations ? groupSubmission.DonationsText : "-",
                               DonationUrl        = groupSubmission.DonationsUrl,
                               Facebook           = groupSubmission.Facebook,
                               Twitter            = groupSubmission.Twitter,
                               AgeRanges          = groupSubmission.AgeRanges.Where(o => o.IsSelected).Select(o => o.Name).ToList(),
                               Suitabilities      = groupSubmission.Suitabilities.Where(o => o.IsSelected).Select(o => o.Name).ToList()
            };

            return(_emailClient.SendEmailToService(new EmailMessage(messageSubject, _emailClient.GenerateEmailBodyFromHtml(emailBody),
                                                                    _fromEmail,
                                                                    _configuration.GetGroupSubmissionEmail(_businessId.ToString()).ToString(),
                                                                    groupSubmission.Email,
                                                                    attachments)));
        }