CapRaffle.Domain.Implementation.EmailSender.NotifyCreator C# (CSharp) Method

NotifyCreator() public method

public NotifyCreator ( Event selectedEvent ) : bool
selectedEvent CapRaffle.Domain.Model.Event
return bool
        public bool NotifyCreator(Event selectedEvent)
        {
            var body = "<h1>CapRaffle results</h1><br />";
            body += "<h3>Winners</h3><br />";
            if (selectedEvent.Winners.Count > 0) body += GetWinnerTable(selectedEvent.Winners);
            else body += "There was no winners for this event";
            body += "<br />";
            body += "An email has also been sent to all participants of this event";

            var mailMessage = new MailMessage {
                From = new MailAddress(emailSettings.MailFromAddress),
                Subject = string.Format("[CapRaffle] {0} result", selectedEvent.Name),
                Body = body,
                IsBodyHtml = true
            };
            mailMessage.To.Add(new MailAddress(selectedEvent.Creator));

            if (emailSettings.WriteAsFile)
            {
                mailMessage.BodyEncoding = Encoding.ASCII;
            }
            return SendEmail(mailMessage);
        }

Usage Example

        public bool NotifyParticipants(int eventId)
        {
            IEmailSender emailSender = new EmailSender();
            bool emailsDeliverd = true;

            var selectedEvent = context.Events.FirstOrDefault(x => x.EventId == eventId);
            if (selectedEvent != null)
            {
                bool emailSendt = emailSender.NotifyCreator(selectedEvent);
                if (!emailSendt) emailsDeliverd = false;
            }

            foreach(Winner w in WinnersForEvent(eventId))
            {
                bool emailSendt = emailSender.NotifyWinner(w);
                if (!emailSendt) emailsDeliverd = false;
            }
            foreach (var looser in EventParticipantsForEvent(eventId))
            {
                bool emailSendt = emailSender.NotifyLooser(looser);
                if (!emailSendt) emailsDeliverd = false;
            }
            return emailsDeliverd;
        }