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

NotifyLooser() public method

public NotifyLooser ( UserEvent looser ) : bool
looser CapRaffle.Domain.Model.UserEvent
return bool
        public bool NotifyLooser(UserEvent looser)
        {
            var body = "<h1>Sorry!</h1><br />";
            body += string.Format("You did not win any tickets in the raffle for event: <strong>{0}</strong><br />", looser.Event.Name);
            body += "Better luck next time";

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

            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;
        }